当在BUTTON的click事件中添加以下代码 TextBox1.text=e.KeyCode.tostring();
当我按下a键时,文本框中便出了aA两个a如何过滤掉一个呢?如果写上if(e.keyvalue>=65 $$e.keyvlue<90)这句话的意思
是限制范围在a-z中但好像不管用啊!
当我按下a键时,文本框中便出了aA两个a如何过滤掉一个呢?如果写上if(e.keyvalue>=65 $$e.keyvlue<90)这句话的意思
是限制范围在a-z中但好像不管用啊!
click事件的参数e中有KeyCode吗?这就是问题所在
or
TextBox1.Text = Chr(e.KeyCode)
如果你非要这样做的话,可以考虑在KeyUP事件中赋值,也就是说在KeyDown中将e.Handle = true;,然后在keyup中在进行文本框的赋值操作,
但是这样的话,你的backspace键就的特殊处理了。
比较郁闷,这个需求太怪异了。
{
e.KeyCode.tostring();
}
这样在keydown中e.Handled = true;
在keyup中处理你的赋值操作,
但是这样的话,你的backspace键,等等其他的键怎么处理呀。
换一种思路吧,不知道你要干什么?
我觉的应该是if (e.KeyValue >=65 && e.KeyValue <= 90)因为是设定 65<e.keyvalue<90这个范围?可是设成这个范围不行,反而设成如下。倒是不会出现一个框内两个字符为什么呢? private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue <=65 && e.KeyValue >= 90)
{
textBox1.Text = e.KeyCode.ToString();
}
}
设成if (e.KeyValue <=65 && e.KeyValue >= 90)不是已经不在这个字符的范围了吗?
奇怪!!!