C#如何给控件数组添加事件

kaka999 2011-03-29 11:46:33
定义了TextBox[],并将窗体上已有的TextBox赋给了该数组。
问题:如何给该Textbox组添加公共事件?比如,我输入字符的时候,判断输入字符的有效性,只用写一次代码就行了。不然textbox很多,每个的 KeyPress(object sender, KeyPressEventArgs e)里面都添加同样的代码太难看了。
...全文
285 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zilong4460072 2011-03-29
  • 打赏
  • 举报
回复

private void Form1_Load()
{
...
TextBox tb1 = new TextBox();
TextBox tb2 = new TextBox();
TextBox tb3 = new TextBox();
TextBox tb4 = new TextBox();
TextBox tb5 = new TextBox();
tb1.TextChanged += new EventHandler(tb1_TextChanged);
tb2.TextChanged += new EventHandler(tb1_TextChanged);
tb3.TextChanged += new EventHandler(tb1_TextChanged);
tb4.TextChanged += new EventHandler(tb1_TextChanged);
tb5.TextChanged += new EventHandler(tb1_TextChanged);
}

void tb1_TextChanged(object sender, EventArgs e)
{
...
}
zilong4460072 2011-03-29
  • 打赏
  • 举报
回复

private void Form1_Load()
{
...
TextBox tb1 = new TextBox();
TextBox tb2 = new TextBox();
TextBox tb3= new TextBox();
TextBox tb4 = new TextBox();
TextBox tb5 = new TextBox();
tb1.TextChanged+=new EventHandler(tb1_TextChanged);
tb2.TextChanged += new EventHandler(tb1_Click);
tb3.TextChanged += new EventHandler(tb1_Click);
tb4.TextChanged += new EventHandler(tb1_Click);
tb5.TextChanged += new EventHandler(tb1_Click);
}


void tb1_TextChanged(object sender, EventArgs e)
{
...
}
kaka999 2011-03-29
  • 打赏
  • 举报
回复
这样添加起来真多,最好能像VB那样,还可以带INDEX参数就好了。
bdmh 2011-03-29
  • 打赏
  • 举报
回复

private void Yourclickevent(object sender, EventArgs e)
{
MessageBox.Show("ok");
}
赋值
textBox1.Click +=new EventHandler(Yourclickevent);
kaka999 2011-03-29
  • 打赏
  • 举报
回复
我的意思能不能直接对数组操作,并且用数组的INDEX来表示使用的哪个textbox?最好公共事件里面能带INDEX参数。
还有
X2.KeyPress += new EventHandler(X1_KeyPress);
X1_KeyPress”的重载均与委托“System.EventHandler”不匹配
rabbitlzx 2011-03-29
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zilong4460072 的回复:]

C# code

private void Form1_Load()
{
...
TextBox tb1 = new TextBox();
TextBox tb2 = new TextBox();
TextBox tb3 = new TextBox();
……
[/Quote]++
xiaoyuzi 2011-03-29
  • 打赏
  • 举报
回复
你可以写一个自定义控件,从textbox继承,在这个控件里处理事件。

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧