问题一:e.handled的作用是什么?(在keypress事件里和keydown事件里怎么不一样呢)
问题二:我要实现的是:当用户摁向左的键时, 文本框里的光标向右移动,当用户摁下向右的键时,文本框里的光标向左移动(语言:C#)
事情是这样的: 有文本框的keyPress事件对应的方法里要是使用有e.handled=true,那么摁下的键是无效的(即在屏幕上不显示),可是keypress事件判别不出许多功能键(如上下左右键),在keyUp或keyDown里的e.keyCode或e.keyValue可以识别出用户摁下的所有的键,但是
它们只可以获取,不可以设置。这该怎么办?
问题二:我要实现的是:当用户摁向左的键时, 文本框里的光标向右移动,当用户摁下向右的键时,文本框里的光标向左移动(语言:C#)
事情是这样的: 有文本框的keyPress事件对应的方法里要是使用有e.handled=true,那么摁下的键是无效的(即在屏幕上不显示),可是keypress事件判别不出许多功能键(如上下左右键),在keyUp或keyDown里的e.keyCode或e.keyValue可以识别出用户摁下的所有的键,但是
它们只可以获取,不可以设置。这该怎么办?
2. 如果要禁止功能键用KeyDown事件的e.SuppressKeyPress,比如禁止使用左方向键移动光标
if(e.KeyCode== Keys.Left)
e.SuppressKeyPress = true;
处理事件
e.Handled = false;
不处理该事件
protected override bool ProcessDialogKey(Keys keyData)
{
if (_selectedPicture != null)
{
switch (keyData)
{
case Keys.Left:
break;
case Keys.Right:
break;
case Keys.Up:
break;
case Keys.Down:
break;
default:
break;
}
} return base.ProcessDialogKey(keyData);
}
keypress按下放开后