.Net Batch Update Control Properties via Code E.G. Check/UnCheck All CheckBox – 在.Net中批次更新控件屬性

已經忘了之前有沒有把這個筆記寫好和發到網誌上了…
今天想和大家分享的技術是用來批次更新 控件屬性的..
有時候使用這個方法十分方便
E.G.
有時候你可能會建立一個按鈕給使用者Check/Uncheck 所有CheckBox
或者需要設定在某一個GroupBox內的 TextBox 屬性變成Enable = False等等

解決方法十分簡單…
在可以的情況下.
所相同性質的控件..放在GroupBoxPanel中..
以便管理..
E.G.
我建立一個Panel 改名為”p_ReportSettings
入面建立了很多的CheckBox..用來設定那一個Report將會被Generate

之後在Panel外建立另一個CheckBox來 作Check/Uncheck All CheckBox之用
之後便可以加入以下的Code用來找出所有在Panel 入有CheckBox 屬性 的控件出來了
E.G.

VB.Net

[vb]
Private Sub cb_ReportCheckAll_CheckedChanged(sender as Object, e as EventArgs) _
Handles cb_ReportCheckAll.CheckedChanged

Dim CheckAll As Boolean = Not cb_ReportCheckAll.Checked

For Each c In pl_ReportSettings.Controls
If TypeOf (c) Is CheckBox Then
CType(c, CheckBox).Checked = CheckAll
End If

Next
End Sub
[/vb]

C#

[csharp]
private void cb_ReportCheckAll_CheckedChanged(object sender, EventArgs e)
{

bool CheckAll = !cb_ReportCheckAll.Checked;

foreach (object c_loopVariable in pl_ReportSettings.Controls) {

if ((c_loopVariable) is CheckBox) {
((CheckBox)c_loopVariable).Checked = CheckAll;
}

}
}
[/csharp]

Hope you find it useful

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.