使用C 使用CT增强扫描的主要目的是
创始人
2024-04-16 08:41:26
0

之前的项目中开发过计算器程序,还进行过井字棋游戏的开发。这两个程序有个共同的特点:包含数个具有同类功能的控件(计算器的数字按钮及井字棋的九个落子位)。如果一个个地创建这些控件,不得不写大量重复的代码,修改起来比较麻烦。一个更好的选择是建立ASP.NET控件数组。下面是ASP.NET中Button数组的简单实现:

  1. Button[] btns = new Button[9];  
  2.  
  3.  private void ShowButtonArray()  
  4.  {  
  5.   for(int i = 0; i < 9; i++)  
  6.   {  
  7.    btns[i] = new Button(); //这一句往往为初学者忽视,须知要创建对象的实例!  
  8.    btns[i].Location = new System.Drawing.Point(100 + 50 * (i % 3),100 + 50 * (i / 3));  
  9.    btns[i].Name = "btnTest";  
  10.    btns[i].Size = new System.Drawing.Size(48, 48);  
  11.    btns[i].Text = i.ToString();  
  12.    btns[i].Click += new System.EventHandler(this.btns_Click); //统一的事件处理  
  13.    this.Controls.Add(btns[i]); //在窗体上呈现控件  
  14.   }  
  15.  }  
  16.  
  17.  private void btns_Click(object sender, System.EventArgs e)  
  18.  {  
  19.   MessageBox.Show(((Button)sender).Text + " was clicked !"); //通过sender判断激发事件的控件  
  20.  }  
  21.  
  22.  private void Form1_Load(object sender, System.EventArgs e)  
  23.  {  
  24.   ShowButtonArray();  
  25.  } 

事实上,大家只要看一遍“Windows 窗体设计器生成的代码”,就很快能理解.Net创建并呈现ASP.NET控件数组的过程,从而写出简单的ASP.NET控件数组。在上例中,Button呈现的位置是通过一个的公式计算出的,在实际的运用中,可以根据需要灵活变化(比如计算器的数字按钮,1~9可以用公式算出,0则可以用if之类的语句特殊处理)。同时值得注意的是对事件的统一处理:在btns_Click函数中通过sender判断激发事件的控件。

如果有必要,可以将ASP.NET控件数组封装成类,加上一定的功能代码,便于灵活使用。甚至可以将一些自定义控件做成数组类,实现更加复杂的功能。

 

【编辑推荐】

  1. 为ASP.NET控件加入快捷菜单
  2. 为Asp.net控件写单元测试(ViewState)
  3. ASP.NET开发程序过程中值得注意的两个地方
  4. ASP.NET、JSP和PHP究竟哪个好
  5. ASP.NET页面请求原理浅析

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...