.NET20 一种简单的窗口控件UI状态控制方法
|
源代码网推荐 假如有如下的窗口: 源代码网推荐 当按下Enable时,左侧的所有控件都要禁止(Enabled=false),当按下Disable时,左侧的所有控件都取消禁止(Enabled=true)。 private void EnableOrDisable(bool isEnabled)源代码网推荐 ![]() {源代码网推荐 this.button1.Enabled = isEnabled;源代码网推荐 this.checkBox1.Enabled = isEnabled;源代码网推荐 this.comboBox1.Enabled = isEnabled;源代码网推荐 this.textBox1.Enabled = isEnabled;源代码网推荐 }源代码网推荐 ![]() 源代码网推荐 private void btnEnable_Click(object sender, EventArgs e)源代码网推荐 ![]() {源代码网推荐 EnableOrDisable(true);源代码网推荐 }源代码网推荐 ![]() 源代码网推荐 private void btnDisable_Click(object sender, EventArgs e)源代码网推荐 ![]() {源代码网推荐 EnableOrDisable(false);源代码网推荐 }
class UiState源代码网推荐 ![]() {源代码网推荐 private bool isEnabled;源代码网推荐 ![]() 源代码网推荐 public bool IsEnabled源代码网推荐 ![]() {源代码网推荐 ![]() get { return isEnabled; }源代码网推荐 ![]() set { isEnabled = value; }源代码网推荐 } 源代码网推荐 }源代码网推荐 ![]() 源代码网推荐
private UiState uiState = new UiState();源代码网推荐 ![]() 源代码网推荐 public Form1() // 构造函数源代码网推荐 ![]() {源代码网推荐 InitializeComponent();源代码网推荐 uiStateBindingSource.DataSource = uiState; // 必须!!!源代码网推荐 }源代码网推荐 ![]() 源代码网推荐 private void EnableOrDisable(bool state)源代码网推荐 ![]() {源代码网推荐 uiState.IsEnabled = state;源代码网推荐 uiStateBindingSource.ResetCurrentItem();源代码网推荐 }源代码网推荐 private void btnEnable_Click(object sender, EventArgs e)源代码网推荐 ![]() {源代码网推荐 EnableOrDisable(true);源代码网推荐 }源代码网推荐 ![]() 源代码网推荐 private void btnDisable_Click(object sender, EventArgs e)源代码网推荐 ![]() {源代码网推荐 EnableOrDisable(false);源代码网推荐 }
运行,测试OK: 源代码网供稿. |

private void EnableOrDisable(bool isEnabled)
{
this.button1.Enabled = isEnabled;
}
}