KeyPress事件

c02645 2009-06-08 11:11:37
一个MaskedTextBox控件名txt_key


private void txt_key_KeyPress(object sender, KeyPressEventArgs e)
{
//if ((e.KeyChar >= 'A' && e.KeyChar <= 'Z')
// || (e.KeyChar >= '0' && e.KeyChar <= '9'))
//{
//}
//else if (e.KeyChar >= 'a' && e.KeyChar <= 'z')
// e.KeyChar = Convert.ToChar(e.KeyChar.ToString().ToUpper());//输入转大写
//else
e.Handled = true;
}


e.Handled = true;或e.Handled = false;
都没有用.
怎么让MaskedTextBox过不了KeyPress事件?

...全文
85 26 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
wolf1118baby 2009-06-09
  • 打赏
  • 举报
回复
学习了
随风v5 2009-06-09
  • 打赏
  • 举报
回复
JF,顶!!
yangjiang113 2009-06-09
  • 打赏
  • 举报
回复
你这代码永远执行-=new System.EventHandler(this.txt_key_keyPress)
c02645 2009-06-08
  • 打赏
  • 举报
回复
看来是不能实现了,只能让输入中文了?
c02645 2009-06-08
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 LCL_data 的回复:]
看一下你的txt_key_KeyPress是MaskedTextBox控件的KeyPress事件不
[/Quote]

是KeyPress事件,不信你可以试,直接写 e.Handled = true;
还能输入
十八道胡同 2009-06-08
  • 打赏
  • 举报
回复
看一下你的txt_key_KeyPress是MaskedTextBox控件的KeyPress事件不
lvxianda 2009-06-08
  • 打赏
  • 举报
回复
bool flag = true;
private void txt_key_KeyPress(object sender, KeyPressEventArgs e)
{
if(flag)
{
if ((e.KeyChar >= 'A' && e.KeyChar <= 'Z')
|| (e.KeyChar >= '0' && e.KeyChar <= '9'))
{
}
else if (e.KeyChar >= 'a' && e.KeyChar <= 'z')
e.KeyChar = Convert.ToChar(e.KeyChar.ToString().ToUpper());//输入转大写
else
flag = false;
}
else
{
}
}
c02645 2009-06-08
  • 打赏
  • 举报
回复
不好意思,让你们迷糊了

private void txt_key_KeyPress(object sender, KeyPressEventArgs e)
{
if ((e.KeyChar >= 'A' && e.KeyChar <= 'Z')
|| (e.KeyChar >= '0' && e.KeyChar <= '9'))
{
}
else if (e.KeyChar >= 'a' && e.KeyChar <= 'z')
e.KeyChar = Convert.ToChar(e.KeyChar.ToString().ToUpper());//输入转大写
else
e.Handled = true;
}

代码是这样的,意思只能输入大小写和数字,在TextBox的KeyPress事件是没有问题的,但MaskedTextBox控件就不行了
yangjiang113 2009-06-08
  • 打赏
  • 举报
回复
表述不清晰 很难懂你的意思
表述清楚了才好解决问题
outou 2009-06-08
  • 打赏
  • 举报
回复
可以在KeyPress中加一个判断
十八道胡同 2009-06-08
  • 打赏
  • 举报
回复
就是说只要有KeyPress事件程序就挂了?

那你直接
private void txt_key_KeyPress(object sender, KeyPressEventArgs e)
{
application.exit();
}
zgke 2009-06-08
  • 打赏
  • 举报
回复
你在拉出来一个MaskedTextBox 添加 KeyPress事件 写个 e.Handled = true;


我个人感觉你还是看看你txt_key控件的事件列表是不是绑错事件了.
c02645 2009-06-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 FenixeVon 的回复:]
在属性窗口里删除MaskedTextBox的KeyPress事件就行了
[/Quote]

我要判断的啊,不要KeyPress事件怎么判断啊?
我想问,怎么能让e.Handled = true;有效
chaozi_249 2009-06-08
  • 打赏
  • 举报
回复
楼主到底想要出什么效果。
十八道胡同 2009-06-08
  • 打赏
  • 举报
回复
怎么让MaskedTextBox过不了KeyPress事件?
什么意思?
让实现KeyPress事件?
lvxianda 2009-06-08
  • 打赏
  • 举报
回复
把焦点移走
或者写个bool值的变量 来决定txt_key_KeyPress里面那些代码要执行那些不要执行
FenixeVon 2009-06-08
  • 打赏
  • 举报
回复
在属性窗口里删除MaskedTextBox的KeyPress事件就行了
stan0714 2009-06-08
  • 打赏
  • 举报
回复
其实感觉这是一个事件动态加载的问题~~~~
加一个判定
在判定里面实现事件动态加载,例如:
if(1==1)
this.MaskedTextBox.Click -= new System.EventHandler(this.txt_key_KeyPress);
else
this.MaskedTextBox.Click += new System.EventHandler(this.txt_key_KeyPress);
yangjiang113 2009-06-08
  • 打赏
  • 举报
回复
还有什么问题就问吧
c02645 2009-06-08
  • 打赏
  • 举报
回复
谢谢大家的帮助,可是问题还是没有得到解决
加载更多回复(5)

111,094

社区成员

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

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

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