Winform下通过控件名称来获取控件

本文介绍了在Winform中通过创建Hashtable来自定义实现查找控件的方法,并提及.NET Framework 2.0中Control.ControlCollection新增Find方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前一直在Webform下用Control.FindControl(string)方法来获取页面上的某个控件,可是Winform下面的ControlCollection却没有提供FindControl的方法:
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemwindowsformscontrolcontrolcollectionmemberstopic.asp?frame=true

没办法,只好自己建一个Hash表来实现。


None.gif          // Populate data
None.gif

ExpandedBlockStart.gifContractedBlock.gif        
ushort [] mydata  =   new   ushort [] dot.gif {111,222,333,444,555,666,777,888,999,1000} ;
None.gif
None.gif                        
None.gif
None.gif                        
// Create a Hashtable reference to all the TextBoxes
None.gif

None.gif                        Hashtable htTextBox 
=   new  Hashtable();
None.gif
None.gif                        
foreach  (Control c  in   this .Controls)
None.gif
ExpandedBlockStart.gifContractedBlock.gif                        
dot.gif {
InBlock.gif
InBlock.gif                                
if (c.GetType().ToString() == "System.Windows.Forms.TextBox")
InBlock.gif
InBlock.gif                                        htTextBox.Add(c.Name,c);
InBlock.gif
ExpandedBlockEnd.gif                        }

None.gif
None.gif                        
// Search TextBox from Hashtable and evalute it.
None.gif

None.gif                        
for  ( int  i = 0 ;i < 10 ;i ++ )
None.gif
ExpandedBlockStart.gifContractedBlock.gif                        
dot.gif {
InBlock.gif
InBlock.gif                                TextBox t;
InBlock.gif
InBlock.gif                                t 
= (TextBox)htTextBox["textBox"+(i+1).ToString()];
InBlock.gif
InBlock.gif                                t.Text 
= mydata[i].ToString();
InBlock.gif
ExpandedBlockEnd.gif                        }
 
None.gif

查了下.NET Framework 2.0的文档,果然发现.NET 2.0中给Control.ControlCollection对象增加了名为Find的方法...
http://msdn2.microsoft.com/library/1hb809fy.aspx


本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利

转载于:https://www.cnblogs.com/roger/archive/2005/02/07/103154.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值