C# 如何为TextBox数组创建处理事件
我创建数组:C# 如何为TextBox数组创建处理事件,c#,wpf,C#,Wpf,我创建数组: TextBox[] textarray = new TextBox[100]; 然后,在循环设置此参数中,位于uniformGrid1中的所有项数组 textarray[i] = new TextBox(); textarray[i].Height = 30; textarray[i].Width = 50; uniformGrid1.Children.Add(textarray[i]); 如何创建事件单击或双击所有项目数组? 对
TextBox[] textarray = new TextBox[100];
然后,在循环设置此参数中,位于uniformGrid1中的所有项数组
textarray[i] = new TextBox();
textarray[i].Height = 30;
textarray[i].Width = 50;
uniformGrid1.Children.Add(textarray[i]);
如何创建事件单击或双击所有项目数组?对不起,我说的是英语。只需添加您的单击或双击事件处理程序。例如,要捕获双击事件,请执行以下操作:
textarray[i] = new TextBox();
textarray[i].Height = 30;
textarray[i].Width = 50;
textarray[i].MouseDoubleClick += this.OnMouseDoubleClick;
uniformGrid1.Children.Add(textarray[i]);
要使上述方法起作用,您的类将需要以下方法:
void OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
// Do something
}
创建一个单击事件处理程序,然后使用它订阅文本框的单击事件,如下所示:
textarray[i].Click += new EventHandler(textbox_Click);
...
void textbox_Click(object sender, EventArgs e)
{
// do something
}
如果要对每个文本框执行的操作相同,那么单击处理程序就足够了。您不需要
新的EventHandler
构造函数,您可以直接添加TextBoxFromArray\u单击
,这实际上是现在推荐的方法。如果需要取消订阅,为每个项目创建一个新的委托会使取消订阅变得更加困难。@Aaronaught,有趣。谢谢你的提醒。@Aaronaugh:谢谢你,伙计,你已经按照你的建议进行了编辑了,就像上次编辑时你的代码格式弄乱了一样。
textarray[i].Click += TextBoxFromArray_Click;
textarray[i].DoubleClick += TextBoxFromArray_DoubleClick;
textarray[i].Click += new EventHandler(textbox_Click);
...
void textbox_Click(object sender, EventArgs e)
{
// do something
}