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清空界面控件值的小技巧,希望對你有所幫助。
C# WinForm清空界面控件值的小技巧
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
.NET郵件處理庫:MailKit
麦饼要革命
2020-06-20 16:19:22
tabControl控件自定義樣式
csdsuper
2020-02-25 22:22:57
Myeclipse項目添加spring支持,使包名有提示的方法。
wonabi
2020-02-24 07:27:36
CVS服務器配置及客戶端的使用
houen
2020-02-22 19:43:35
VNCServer 配置 及Vncview的使用
houen
2020-02-22 19:43:35
linux使用valgrind 檢查內存泄露
houen
2020-02-22 19:43:35
.NET郵件處理庫:MailKit
麦饼要革命
2020-06-20 16:19:22
tabControl控件自定義樣式
csdsuper
2020-02-25 22:22:57
Myeclipse項目添加spring支持,使包名有提示的方法。
wonabi
2020-02-24 07:27:36
CVS服務器配置及客戶端的使用
houen
2020-02-22 19:43:35
VNCServer 配置 及Vncview的使用
houen
2020-02-22 19:43:35
linux使用valgrind 檢查內存泄露
houen
2020-02-22 19:43:35
Mac OS下MAT(Memory Analyzer Tool)安裝與啓動
hanchao5272
2019-06-23 13:04:28