新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > .Net开发 > Asp.net教程 > 正文:用C#实现简单的控件数组

用C#实现简单的控件数组

新客网 XKER.COM 2005-08-15 来源: 收藏本文
 

用C#实现简单的控件数组

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

  Button[] btns = new Button[9];

  private void ShowButtonArray()
  {
   for(int i = 0; i < 9; i++)
   {
    btns[i] = new Button(); //这一句往往为初学者忽视,须知要创建对象的实例!
    btns[i].Location = new System.Drawing.Point(100 + 50 * (i % 3),100 + 50 * (i / 3));
    btns[i].Name = "btnTest";
    btns[i].Size = new System.Drawing.Size(48, 48);
    btns[i].Text = i.ToString();
    btns[i].Click += new System.EventHandler(this.btns_Click); //统一的事件处理
    this.Controls.Add(btns[i]); //在窗体上呈现控件
   }
  }

  private void btns_Click(object sender, System.EventArgs e)
  {
   MessageBox.Show(((Button)sender).Text + " was clicked !"); //通过sender判断激发事件的控件
  }

  private void Form1_Load(object sender, System.EventArgs e)
  {
   ShowButtonArray();
  }

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

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


收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐