2010-05-06 80 views
2

我在Windows窗體中有一個文本框。目前的重點是在文本框,我輸入一些文本。現在我單擊文本框外部,但在窗口內。此操作不會使文本框失去焦點。光標仍然在文本框中閃爍。如果點擊是在另一個控件上,那麼文本框將失去控制權。如何在外部點擊時從文本框失去控制

如何讓文本框失去控制時單擊它(不只是在另一個控件,但在窗體內的任何地方)?

在此先感謝。

Datte

回答

4

因爲你點擊一個沒有服用焦點(如表格,標籤等)能力的控制。如果您點擊例如在另一個文本框的焦點應該(在表格的OnClick事件即)移動..

要以編程方式移動焦點使用control.Focus方法。

+0

看看Control.CanFocus屬性文檔http://msdn.microsoft.com/en-us/library/system.windows.forms.control.canfocus(v=VS.100).aspx – munissor 2010-05-06 16:55:15

+0

這是不爲我工作。 Form.CanFocus返回true。在OnClick或MouseClick事件中,我明確地寫了this.Focus()[甚至試過this.Select()],焦點仍然在文本框上。 任何其他解決方案? – dattebayo 2010-05-07 04:59:26

+0

將注意力放在表單上沒有任何意義。也許你的文本框是窗體中唯一的控件?或者它在表單內部具有最低的TabIndex?另一種可能是你的文本框有一個驗證事件,驗證失敗,所以文本框不會失去焦點。 – munissor 2010-05-07 08:57:57

相關問題