问题描述
|
我如何使焦点消失在:
<TextBox Name=\"TextBox1\" />
或者,如果我不能使焦点消失,那么什么都没有聚焦?
解决方法
您可以使用FocusManager将焦点设置为其他对象。我不确定何时要更改焦点或要在代码中的哪个位置进行调用,但是我在窗体的代码后放置了对FocusManager的调用,并将其焦点设置为自身,这似乎可以工作正常。
例如如果将其添加到KeyUp事件中,则当您按a时,文本框将失去焦点
private void TextBox_KeyUp(object sender,KeyEventArgs e)
{
if (e.Key == Key.A)
FocusManager.SetFocusedElement(this,this);
}
, 您是否尝试设置IsTabStop = False和Focusable = false?
您还可以检查以下内容:
http://msdn.microsoft.com/en-us/library/aa969768.aspx
, 您可以使用GotFocus(http://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.gotfocus.aspx)更改焦点
, 您可以使用SetFocusedElement属性将焦点设置为其他控件。
http://msdn.microsoft.com/en-us/library/aa969768.aspx
还要检查FocusManager.SetIsFocusScope方法
http://msdn.microsoft.com/zh-CN/library/system.windows.input.focusmanager.setisfocusscope.aspx