中成网站建设
    成都做网站,就选中成网站建设!专业四川网站建设,成都网站建设服务提供商
            企业宣传网站建设、电子商务网站建设、OA办公系统。联系电话:028-66165255
    资讯列表  
 四川免费建站,成都网站建设,全…
 2008年国内最常用的PHP+MySql免…
 电子商务公司如何提高网站转化…
 成都市新都区网站建设(从双楠到…
 网站上线前必做的30个检查
 国外新颖的电子商务网站模式
 通过百度指数分析网站关键词
 BBS备案因重叠审批被取消
 单字母与单数字 .COM/.CN 域名…
 开发Web 2.0的9条注意事项
 电子商务如何与企业ERP系统整合…
 关于 HTML5 应用现状与前景的思…
 W3C验证的是是非非
 工信部整治手机淫秽色情专项行…
 心态决定站长的命运 一个站长3…
    资讯详情  
全面讲述C#控件数组
发布时间:2009-12-21                  来源:成都网站建设--中成网建         【加入收藏】

学习C#数组时,经常会遇到C#控件数组问题,这里将介绍能够实现C#控件数组的功能的办法。

Dot.Net里取消了C#控件数组,这让习惯了使用VB控件的程序员非常不适应。有什么办法能够实现C#控件数组的功能吗?答案是肯定的。

众所周知,C#控件数组最主要的两个优点:可以循环附值;可以响应同一个事件。从而大大简化了代码。下面根据这两个方面,举一个例子。

新建一个工程,在窗体上添加5个textbox(textBox1...textBox5)和2个button (button1、button2)。

1.循环附值

总的来说,有两种实现方法:

1.1 定义动态的控件数组。因为Dot.Net里支持动态的控件数组,所以我们可以把已设计好的控件,附给动态的数组,这样就可以任意的使用了。代码如下:

  1. private void button1_Click(object sender, System.EventArgs e)  
  2.  
  3. {  
  4. TextBox[] myTextBox = new TextBox[5];  
  5. myTextBox[0] = textBox1;  
  6. myTextBox[1] = textBox2;  
  7. myTextBox[2] = textBox3;  
  8. myTextBox[3] = textBox4;  
  9. myTextBox[4] = textBox5;  
  10.  
  11. for ( int i=0;i< 5;i++)  
  12. {  
  13. myTextBox[i].Text = "fill_1";  
  14. }  

1.2 利用窗体的控件数组。因为窗体里的控件,都被包括在Control里面,所以可以根据其类别加以区分。代码如下:

  1. private void button2_Click(object sender, System.EventArgs e)  
  2. {  
  3. foreach(Control myControls in this.Controls)  
  4. {  
  5. if (myControls.ToString().IndexOf("TextBox") > 0 )  
  6. {  
  7. myControls.Text ="fill_2";  
  8. }  
  9.  
  10. }  

2.事件响应

让数组里的控件都响应同一个相应的事件,通过起在数组里唯一的标识,再将他们加以区分。下面一个例子,使5个textBox响应同一个keypress事件。

自定义一个控件事件-- textBox_KeyPress ,代码如下:

  1. private void textBox_KeyPress
    (object sender,System.Windows.Forms.KeyPressEventArgs e){  
  2. TextBox box = (TextBox)sender;  
  3.  
  4. MessageBox.Show(this,"you choose " + box.Name + " and you keypress " + 
    e.KeyChar.ToString() ,"try" ,MessageBoxButtons.OK );  

选定textBox1,按F4显示其属性页,选择"Events"按钮(就是那个小闪电),列出了textBox1的所有事件,在keypress里写我们想让他相应的事件的名字--textBox_KeyPress,这样,当textBox1产生keypress事件时,他相应的是 textBox_KeyPress这个我们自定义的事件。同样,对其它的textBox控件也做如上的属性设置。这样,5个textBox同时响应一个 keypress事件,而可以通过object sender的不同,可以加以区分。这样就达到了数组的效果。以上介绍实现C#控件数组的功能。

 
上一篇:谷歌推出Chrome操作系统
下一篇:网站SEO方法汇总
【打印】    【关闭】    【字体变小】    【字体变大】

友情链接

首页  |  建站学院  |  网站建设  |  成功案例  |  业务体系  |  软件定制  |  解决方案  |  联系我们  |  免责声明
中成网建公司地址:四川省成都市双楠双安东巷1号18-3-5 电话:028-6616 5255 版权所有 @ 中成网建
成都网站建设网址:www.csccd.net www.csccd.cn 邮箱:web#csccd.net
信息产业部备案号:蜀ICP备08106559号