一个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事件?
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事件?
解决方案 »
- 菜鸟有关session值的传递和获取问题,求解~
- DataGridView 中二个字段设置ComboBox
- 即时通信软件如何去检测登录密码是否正确.........急
- 对象 名称 'System.Web.UI.WebControls.TreeNode' 包含的前缀超出了最大限值。最多只能有 3
- C#权限设置,本人刚工作的菜鸟
- 请教datagridview显示表的数据问题??
- 有关.net中helpprovider
- 数据集的问题
- 一个txt图像的灰度数据。C#如何快速读取并且画出图像
- 怎么样替换换行符?
- socket文件发送的问题
- 请问 Microsoft Visual Studio 2008 生成安装项目时如何设置程序的图标
或者写个bool值的变量 来决定txt_key_KeyPress里面那些代码要执行那些不要执行
什么意思?
让实现KeyPress事件?
我要判断的啊,不要KeyPress事件怎么判断啊?
我想问,怎么能让e.Handled = true;有效
我个人感觉你还是看看你txt_key控件的事件列表是不是绑错事件了.
private void txt_key_KeyPress(object sender, KeyPressEventArgs e)
{
application.exit();
}
{
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控件就不行了
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
{
}
}
是KeyPress事件,不信你可以试,直接写 e.Handled = true;
还能输入
跳到事件窗口,在控件的KeyPress窗口选择txt_key_KeyPress
如果事件有效,说明在那个事件之前还有一个事件优先执行了,导致阻止无效。
另外既然你用了MaskedTextBox,其实设置Mask标志就可以控制输入的内容了,又何必再通过按键事件呢?
// 我试过了 这样没有问题 可以使用
private void maskedTextBox1_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;
}
知道问题所在了,
是设置了 this.txt_key.Mask = "aaaa-aaaa-aaaa-aaaa";就不起作用
加一个判定
在判定里面实现事件动态加载,例如:
if(1==1)
this.MaskedTextBox.Click -= new System.EventHandler(this.txt_key_KeyPress);
else
this.MaskedTextBox.Click += new System.EventHandler(this.txt_key_KeyPress);