我有一个表单,其中有一个连接到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 次 |
最近记录: |