欢迎光临
我们一直在努力

用C#实现简单的控件数组-.NET教程,C#语言

建站超值云服务器,限时71元/月

 

用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判断激发事件的控件。

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

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用C#实现简单的控件数组-.NET教程,C#语言
分享到: 更多 (0)