我們經常需要控制窗口控件的狀態。比如,在某些情況下,需要禁止一部份控件,或讓一部份控件呈只讀狀態等等。 假如有如下的窗口: 當按下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: |
來源:互連網 作者:沐楓網誌 |
.NET20 一種簡單的窗口控件UI狀態控制方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.