在C# 中,在TextBox 的事件问题

freelove1 2004-05-03 12:45:29
的KeyDown 事件中,如果我检测到某一个按键值,就取消这次按键,我该怎么做?

private void textBox_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.Keycode==46)
{
//过滤掉这次按键,让其它所有的事件不再触发
}


}
...全文
24 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Elusive 2004-05-03
e.Handled=true;
  • 打赏
  • 举报
回复
ghostmirror 2004-05-03
同意chenyuming2004(一切从2004开始

在 keydown里面

e.handled对字符无效
  • 打赏
  • 举报
回复
chenyuming2004 2004-05-03
取消按键就是用下面的方法
e.Handled=true;

不过KeyDown里面
只对控制键才能取消掉,
KeyPress
只对普通字符有效,
控制键又无效。
  • 打赏
  • 举报
回复
Firestone2003 2004-05-03
KeyPress和KeyDown处理的键不同的!
非字符键不会引发 KeyPress 事件;但非字符键却可以引发 KeyDown 和 KeyUp 事件。

  • 打赏
  • 举报
回复
chenyu001 2004-05-03
private void textBox_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.KeyValue==65)
{
e.Handled=false;

}


}
  • 打赏
  • 举报
回复
Elusive 2004-05-03
你在KeyPress理处理
  • 打赏
  • 举报
回复
wg815ceo 2004-05-03
e.keyValue好像是验证单个按键的!
  • 打赏
  • 举报
回复
freelove1 2004-05-03
不行啊
private void textBox_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.KeyValue==65)
{
e.Handled=true;

}


}

但是 textBox 上的值还是改变了,而且触发了
textBox_TextChanged(object sender, System.EventArgs e)
  • 打赏
  • 举报
回复
相关推荐
发帖
C#
加入

10.6w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2004-05-03 12:45
社区公告

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