在C# WindowsForm应用程序里面,控件有两种方法添加
1,使用工具箱把控件拖拽到一个Form上,这个时候系统会自动在Form的设计文件(例如Form1.Designer.cs)里面加入这个控件的初始化语句,例如我们拖拽出一个按钮时,会产生如下的代码:
private System.Windows.Forms.Button button1;//申明这个按钮的一个对象
然后在窗体的初始化方法里面有如下的代码:
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();//实例化按钮
this.SuspendLayout();
//
// button1
// 设置按钮的属性
this.button1.Location = new System.Drawing.Point(60, 41);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
this.Controls.Add(this.button1);//把按钮加入到当前的窗体里面
}
2,手动在代码里面添加控件,方法很简单,什么一个控件的对象,实例化,赋值属性,
加入到一个当前窗体的Controls里面或者其他什么容器(Panel)里面都行。
至于你的要求,不管是用哪种方法,都是可以知道当前已有控件的实例的,所以你只需要
定一个控件数组,然后在Form的构造函数里面把控件放进去就行了。看代码:
private Button[] buttons;
public Form1()
{
InitializeComponent();
buttons = new Button[2];
buttons[0] = button1;
buttons[1] = button2;
}
这种写法其实是很笨的写法,假如有好多的控件,写起来很费劲,如果控件很多,应该循环地从this.Controls里面把所需要的控件取出来!
关于这个问题:有0~9十个button,点击其中的一个将相应的0~9之间的数赋给变量a
最简单的做法就是把这个10个按钮的点击事件都挂到同一个事件处理方法上面,然后判断是哪个按钮发出就行了:
private void Number_Click(object sender, EventArgs e)
{
string number = (sender as Button).Text;
switch (number)
{
case "0": break;
case "1": break;
case "2": break;
case "3": break;
}
//你这么写都行:int a = int.Parse(number);
}