c# 一组textbox的keypress事件

我有20个textbox,textbox1~20,keypress触发的事件是一样的.如下。怎么样用数组的方法把它写到一个事件里来。privatevoidtextBox1... 我有20个textbox,textbox1~20,keypress触发的事件是一样的.如下。怎么样用数组的方法把它写到一个事件里来。
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (((int)e.KeyChar != 48 && (int)e.KeyChar != 49) && (int)e.KeyChar != 8)
{
e.Handled = true;
}
}
展开
 我来答
v雪地里的猫
2013-11-20 · TA获得超过864个赞
知道小有建树答主
回答量:401
采纳率:100%
帮助的人:245万
展开全部
并不需要数组那么麻烦,既然你事件中的代码都是一样的,只需要稍微改下就好了。

解决方法是将所有文本框的KeyPress事件绑定到同一个事件方法中!

操作:
将textBox1_KeyPress事件改名为textBox_KeyPress,然后在你需要的文本框的属性窗那里切换到事件页,将文本框的KeyPress事件选中textBox_KeyPress即可。

这样,所有的文本框KeyPress事件都绑定到同一个方法中,实现了你原来功能,且减少了很多代码。

以上信息希望对你有帮助^^
gzxpg
2013-11-20 · TA获得超过232个赞
知道小有建树答主
回答量:838
采纳率:76%
帮助的人:233万
展开全部
循环取所有的textbox,添加事件
foreach(Control c in panel.Controls)
{
if(c is TextBox)
{
textBox txt=c as TextBox;
if(txt.tag=="abc")//这里是为了防止panel中有其他textbox为20textbox添加tag区分
{
txt.keypress+=new KeyPressEventHandler(textBox_KeyPress);
}
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aaalinda
2013-11-20
知道答主
回答量:21
采纳率:0%
帮助的人:15.4万
展开全部
你是用的VS么,直接在那个TextBox的keypress事件选你写的这个函数就行了,不用循环生成
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
asdfv63
2013-11-20 · 超过47用户采纳过TA的回答
知道小有建树答主
回答量:136
采纳率:100%
帮助的人:120万
展开全部
private void Form1_Load(object sender, EventArgs e)
{
textBox1.KeyPress += new KeyPressEventHandler(textBox_KeyPress);
textBox2.KeyPress += new KeyPressEventHandler(textBox_KeyPress);
textBox3.KeyPress += new KeyPressEventHandler(textBox_KeyPress);
textBox4.KeyPress += new KeyPressEventHandler(textBox_KeyPress);
}

void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
MessageBox.Show("dsfa");
}
比如这样就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
runjiu
2013-11-20 · TA获得超过328个赞
知道小有建树答主
回答量:715
采纳率:50%
帮助的人:241万
展开全部
int []kChar={48.49.8}
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{bool found=false;
foreach(int k in kChar)
{if((int)e.KeyChar==k){found=true;break;}
}
if(found==false){ e.Handled = true;}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式