用C#实现控件数组

以前学习过VB6.0,现在想用C#实现类似的功能。例:有0~9十个button,点击其中的一个将相应的0~9之间的数赋给变量a(可不可以把已有的控件放入控件数组中?)... 以前学习过VB6.0,现在想用C#实现类似的功能。

例:有0~9十个button,点击其中的一个将相应的0~9之间的数赋给变量a
(可不可以把已有的控件放入控件数组中?)
展开
 我来答
rightmin
推荐于2017-09-14 · TA获得超过4124个赞
知道大有可为答主
回答量:2199
采纳率:0%
帮助的人:1804万
展开全部
在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);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式