我有一个表单,其中有一个连接到AcceptButton属性的按钮,以便在用户按下Return键时出现逻辑并关闭表单.
在该表单上,我显示了TextBox当用户双击某个区域时出现的动态创建,然后在用户按下Return时隐藏.
当用户在TextBox有焦点时按下Return键时,如何防止表单处理按键?
我试图说按键操作是在TextBox.KeyDown事件处理程序中处理的,KeyEventArgs.Handled但Button.Click我的接受按钮的事件首先被触发...
Nob*_*are 14
虽然AcceptButton在TextBox具有焦点时重置表单将起作用,但我相信更合适的解决方案是使用TextBoxes AcceptsReturn属性.
如果你设置
myTextBox.AcceptsReturn = true;
Run Code Online (Sandbox Code Playgroud)
按下RETURN时表单不会接受,但您的TextBox可以自行处理.
这样可以避免在代码中的多个位置重置AcceptButton.
Fre*_*örk 11
使用Enter和的Leave事件TextBox将AcceptButton属性设置为null(打开Enter)并将按钮重新分配给它(打开Leave).
创建该文本框时将该AcceptButton属性设置为 null,并在失去焦点时将其设置回正常值:
var myTextBox = new TextBox ... ;
AcceptButton = null;
myTextBox.Leave += (s, e) => { AcceptButton = btnOK; };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4532 次 |
| 最近记录: |