假設一個程式設計form內有panel,panel內還有其他控制項
如果在一開始將form傳進函式,
foreach迴圈並不會讀到包含在panel內的控制項!
因此需要遞迴呼叫,將panel傳進函式,
執行函式時才會將panel內的控制項初始化。
程式範例
public static void ControlClear(Control.ControlCollection control){
foreach (Control element in control)
{
if (element is Panel)
ControlClear(element.Controls);
//遞迴呼叫,清空自己範圍的控制項
else if (element is TextBox)
((TextBox)element).Text = "";
//文字清空
else if (element is DateTimePicker)
((DateTimePicker)element).Value = System.DateTime.Now;
//設定為「現在日期時間」
else if (element is ComboBox)
((ComboBox)element).SelectedIndex = -1;
//選取索引-1表示未選取
else if (element is RadioButton)
((RadioButton)element).Checked = false;
//設定為未選取
}
}
沒有留言:
張貼留言