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

WinForm 清空界面控件值的小技巧
原文:WinForm 清空界面控件值的小技巧

在WinForm里面有時候需要清空自己輸入內容或是選擇的選項,以便重新操作流程,那么一般你是怎么清空界面各個控件值的呢?如果窗體里面控件,尤其是TextBox控件比較多的時候,代碼里面是不是要設置每個控件的Text屬性值為空呢?下面我用這個例子,來探討下清空界面控件值的小技巧。而且還能復用。不必每個窗體都做這些枯燥、無聊的工作。


一般的做法是在清除控件的事件里面添加下面這樣的代碼:

ExpandedBlockStart.gif代碼
???????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);
}

?

?

ExpandedBlockStart.gif代碼
///?<summary>
????????
///?清除容器里面某些控件的值
????????
///?</summary>
????????
///?<param?name="parContainer">容器類控件</param>
????????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;
????????????????????}
????????????????}
????????????}
????????}

?

?

?

?

posted on 2016-05-09 02:26 NET未來之路 閱讀(...) 評論(...) 編輯 收藏

轉載于:https://www.cnblogs.com/lonelyxmas/p/5472462.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457954.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457954.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457954.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

int 取值范圍_一定范圍內的隨機數

老司機的新問題&#xff0c;取得[min, max]范圍的隨機數。C版本的rand函數很不容易用對&#xff0c;直接用rand() % (max - min 1) min&#xff0c;這個公式不對。這個公式與取最低位的算法相同&#xff0c;而隨機數的最低幾位不一定等概率。Donald Knuth博士教導我們正確的用…

virsh的使用

2019獨角獸企業重金招聘Python工程師標準>>> ###這里最先要完成的是對網卡的配置(os ubuntu14.04) 目的是實現vm上是以橋接的方式聯網 修改/etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback #auto eth0…

嵌入式常見筆試題總結(4)

1&#xff1a;用C語言實現大小端的測試 Int CheckCpu() { union { int a; char b; }c; c.a1; if(c.b1) printf(“小端”)&#xff1b; else printf&#xff08;“大端”&#xff09;&#xff1b; } 2&#xff1a;volatile的作用有哪些&#xff1f; Volatile第一變量相當于告訴編…

《java入門第一季》之類String類小案例

String類有許多獲取方法&#xff0c;API文檔里面可查看。針對獲取方法&#xff0c;給出小案例。 /** 需求&#xff1a;遍歷獲取字符串中的每一個字符* 分析&#xff1a; 用到兩個方法&#xff1a;char charAt(int index) 表示獲取字符串指定索引的字符int length() …

同字母異序詞 python_49. 字母異位次分組(Python)

題目 給定一個字符串數組&#xff0c;將字母異位詞組合在一起。字母異位詞指字母相同&#xff0c;但排列不同的字符串。 說明 所有輸入均為小寫字母。 不考慮答案輸出的順序。 示例 輸入: ["eat", "tea", "tan", "ate", "nat&quo…

嵌入式常見筆試題總結(5)

1、 如何在C中初始化一個字符數組。這個問題看似很簡單&#xff0c;但是我們要將最簡單的問題用最嚴謹的態度來對待。關鍵的地方&#xff1a;初始化、字符型、數組。最簡單的方法是char array[];。這個問題看似解決了&#xff0c;但是在初始化上好像還欠缺點什么&#xff0c;個…

SQL Server - 高可用與災難恢復(HADR)技術 -- AlwaysOn可用性組(理論篇)

因為篇幅原因&#xff0c;AlwaysOn可用性組被拆成了兩部分&#xff1a;理論部分和實戰部分。而實戰部分又被拆成了準備工作和AlwaysOn可用性組搭建。 三篇文章各自的鏈接&#xff1a; SQL Server ->> 高可用與災難恢復&#xff08;HADR&#xff09;技術 -- AlwaysOn&…

嵌入式常見筆試題總結(6)

一、常識理論題 1、 簡述嵌入式操作系統有哪些&#xff0c;你用過哪幾種&#xff0c;簡述其特點、優勢及劣勢&#xff1f;(5分) 2、 請描述控制及提高嵌入式軟件質量有哪些辦法&#xff0c;在開發過程中怎么才能保證嵌入式軟件的可靠性&#xff1f;&#xff08;5分&#xff09;…

python 3.6.5編譯安裝_Linux系統安裝Python3.6.5

Linux系統安裝Python3.6.5 1、下載Python3.6.5 wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz 如果報command not found則執行&#xff1a;yum -y install wget命令后再進行下載 也可下載好安裝包進行手動上傳 2、安裝Python3.6可能使用的依賴 yum install o…

從傳統運維到云運維演進歷程之軟件定義存儲(一)

運維是企業業務系統從規劃、設計、實施、交付到運維的最后一個步驟&#xff0c;也是重要的步驟。運維從橫向、縱向分可以分為多個維度和層次&#xff0c;本文試圖拋開這紛繁復雜的概念&#xff0c;講述一個傳統的企業級運維人員轉型到云運維人員&#xff0c;尤其是軟件定義存儲…

Abp Uow 設計

初始化入口 在AbpKernelModule類中&#xff0c;通過UnitOfWorkRegistrar.Initialize(IocManager) 方法去初始化 1 /// <summary>2 /// This class is used to register interceptor for needed classes for Unit Of Work mechanism.3 /// </summary>4 …

python3.8 實現鼠標自動移動_“新生報到”!【移動機器人 HD-1500】負載1500kg,實現了重型貨物運輸的自動化...

2020年第三季度歐姆龍自動化&#xff08;中國&#xff09;有限公司新品【移動機器人 HD-1500】即日起在中國市場首次對外發布&#xff0c;實現了重型貨物運輸的自動化。這款最新的自動化移動機器人重型載荷能力為1500 kg&#xff01;更高的載荷能力可以令客戶實現以前無法實現的…

Linux 關閉服務后 鼠標 鍵盤用不了

大部分情況下我們做實驗都是使用虛擬機&#xff0c;但是個人比較本實在太老了&#xff0c;性能有限&#xff0c;所以虛擬機里面的系統啟動神慢&#xff0c;怎么辦&#xff1f;把系統中自己用不到的服務全部關閉掉唄&#xff0c;如下for i in chkconfig --list | awk {print $1}…

對session的理解

java Servlet API引入session 機制來跟蹤客戶的狀態&#xff0c;session指的是在一段時間內&#xff0c;單個客戶和web服務器之間一連串的交互過程&#xff0c;在一個session中&#xff0c;一個客戶可能會多次請求同一個網頁&#xff0c;也可能請求多個不同服務器資源&#xff…

android 監聽本機網絡請求_fiddler如何抓取https請求實現fiddler手機抓包-證書安裝失敗100%解決...

一、HTTP協議和HTTPS協議。(1) HTTPS協議HTTP協議SSL協議&#xff0c;默認端口&#xff1a;443(2) HTTP協議&#xff08;HyperText Transfer Protocol&#xff09;&#xff1a;超文本傳輸協議。默認端口&#xff1a;80&#xff0c;其中包含請求和響應兩部分&#xff0c;其中請求…

c語言筆試題總結2

下列各題A)、B)、C)、D)四個選項中&#xff0c;只有一個選項是正確的&#xff0c;請將正確選項涂寫在答題卡相應位置上&#xff0c;答在試卷上不得分。(1)算法的時間復雜度是指_______。A)執行算法程序所需要的時間B)算法程序的長度C)算法執行過程中所需要的基本運算次數D)算法…

C#的四舍五入函數

2019獨角獸企業重金招聘Python工程師標準>>> 1.四舍六入&#xff08;國外的四舍五入&#xff09; Math.Round&#xff08;num&#xff09;; 2.四舍五入 Math.Round(num,MidpointRounding.AwayFromZero); 轉載于:https://my.oschina.net/CrazyBoy1024/blog/746268

C語言筆試題總結3

4. static有什么用途&#xff1f;&#xff08;請至少說明兩種&#xff09;1.限制變量的作用域2.設置變量的存儲域7. 引用與指針有什么區別&#xff1f;1) 引用必須被初始化&#xff0c;指針不必。2) 引用初始化以后不能被改變&#xff0c;指針可以改變所指的對象。2) 不存…

【BZOJ2243】 [SDOI2011]染色

Description 給定一棵有n個節點的無根樹和m個操作&#xff0c;操作有2類&#xff1a; 1、將節點a到節點b路徑上所有點都染成顏色c&#xff1b; 2、詢問節點a到節點b路徑上的顏色段數量&#xff08;連續相同顏色被認為是同一段&#xff09;&#xff0c;如“112221”由3段組成&am…

jquery easyui DataGrid 數據表格 屬性

擴展自 $.fn.panel.defaults &#xff0c;用 $.fn.datagrid.defaults 重寫了 defaults 。 依賴 panelresizablelinkbuttonpagination用法 1. <table id"tt"></table> 1. $(#tt).datagrid({ 2. url:datagrid_data.json, 3. columns:[…