C#控件数组
来源:互联网 发布:linux系统运维手册 编辑:程序博客网 时间:2024/06/05 00:14
做计算器程序,井字棋游戏。
这两个程序有个共同的特点:包含数个具有同类功能的控件(计算器的数字按钮及井字棋的九个落子位)。如果一个个地创建这些控件,不得不写大量重复的代码,修改起来比较麻烦。一个更好的选择是建立控件数组。下面是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判断激发事件的控件。
如果有必要,可以将控件数组封装成类,加上一定的功能代码,便于灵活使用。甚至可以将一些自定义控件做成数组类,实现更加复杂的功能
这两个程序有个共同的特点:包含数个具有同类功能的控件(计算器的数字按钮及井字棋的九个落子位)。如果一个个地创建这些控件,不得不写大量重复的代码,修改起来比较麻烦。一个更好的选择是建立控件数组。下面是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判断激发事件的控件。
如果有必要,可以将控件数组封装成类,加上一定的功能代码,便于灵活使用。甚至可以将一些自定义控件做成数组类,实现更加复杂的功能
- C#实现控件数组
- C#实现控件数组
- c# 控件数组
- C#控件数组
- 【转载】c#实现控件数组
- C#中使用控件数组
- c#里如何实现控件数组
- 在C#程序中创建控件数组
- C# 动态创建控件数组并赋值
- C#建立控件数组,实现控件批量操作
- C#中使用DataGridView控件显示数组中的内容
- c#调用c++的ocx控件传递数组
- C#中JSON数组填充给Combox控件
- C# 如何实现richTextBox控件输入数组长度
- 控件数组
- 控件数组
- C#控件
- c#控件
- 内存对齐
- 《Windows驱动开发技术详解》读书笔记 来自 http://phinecos.blog.51cto.com/1941821/368163
- 8天学通MongoDB——第八天 驱动实践
- sql server 中查询一个字符串在另一个字符串中是否存在
- extern声明的使用心得
- C#控件数组
- ConcurrentHashMap原理分析
- Win7中IIS 、ASP的安装--web 服务器的部署
- Windows远程桌面访问Ubuntu 12.04 之安装XRDP
- image button 透明色代码设置
- 什么是Cairo
- 关于click router 中“unknown element class”问题的解决。
- linux command Line and shell script bible(笔记十一)
- 监控mbean