C# WinForm清空界面控件值的小技巧

WinForm裏面有時候需要清空自己輸入內容或是選擇的選項,以便重新操作流程,那麼一般你是怎麼清空界面各個控件值的呢?如果窗體裏面控件,尤其是TextBox控件比較多的時候,代碼裏面是不是要設置每個控件的Text屬性值爲空呢?下面我用這個例子,來探討下清空界面控件值的小技巧。而且還能複用。不必每個窗體都做這些枯燥、無聊的工作。 一般的做法是在清除控件的事件裏面添加下面這樣的代碼: private void btnClear_Click(object sender, EventArgs e) { this.txbAccount.Text = ""; this.txbAddress.Text = ""; this.txbCmp.Text = ""; this.chkCash.Checked = false; this.cmbDepart.Text = ""; //.............窗體裏面各類要清空控件; }設想如果這樣做,一個窗體我們清空界面需用10行代碼,50個窗體那麼就是500行代碼,大量重複的勞動,如果我們用下面這種方法的話,那麼項目裏面代碼量將大大減少,而且封裝到類裏面,可以重用。(當然這個函數還可以重載、擴展,以便適應不同的需求) private void btnClear_Click(object sender, EventArgs e) { ClearCntrValue(this.pnlContent); } /// /// 清除容器裏面某些控件的值 /// /// 容器類控件 public void ClearCntrValue(Control parContainer) { for (int index = 0; index < parContainer.Controls.Count; index++) { // 如果是容器類控件,遞歸調用自己 if (parContainer.Controls[index].HasChildren) { ClearCntrValue(parContainer.Controls[index]); } else { switch(parContainer.Controls[index].GetType().Name) { case "TextBox": parContainer.Controls[index].Text = ""; break; case "RadioButton": ((RadioButton)(parContainer.Controls[index])).Checked = false; break; case "CheckBox": ((CheckBox)(parContainer.Controls[index])).Checked = false; break; case "ComboBox": ((ComboBox)(parContainer.Controls[index])).Text = ""; break; } } } }以上介紹的就是C# WinForm清空界面控件值的小技巧,希望對你有所幫助。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章