设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> 网络编程 >> C# >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
变脸:用CSS+JS打造的网…
用CSS实现动态显示的五角…
用css实现文字的自动隐藏
PHP中使用crypt()实现用…
使用C#开发SmartPhone程…
用C#实现智能设备上的No…
用CSS样式表控制鼠标显示…
制作网页学习之常用CSS实…
VS2005中使用C#的新特性…
C#获取WAVE文件文件头信…
  用C#实现简单的控件数组         ★★★★★
用C#实现简单的控件数组
 

【导读】本文介绍如何用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判断激发事件的控件。

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

(责任编辑:铭铭)

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2006-10-10
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:admin    责任编辑:admin 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持