2015-07-29 2 views
0

У меня есть 2 TextBox txtBox1 и txtBox2. и txtBox1 имеет событие LostFocus. Когда мой фокус находится в txtBox1 и перейдите к txtBox2, в это время событие txtBox1 LostFocus работает хорошо.Как потерять фокус TextBox с нажатием на форму

Но моя проблема в том, что когда мой фокус находится в txtBox1, и я нажимаю в любом месте формы, в это время событие LostFocus txtBox1 не является вызовом. Я имею в виду, как я могу потерять фокус txtBox1 с нажатием на форму.

Заранее спасибо.

+0

Его довольно сложно, вы можете создать невидимый контроль, чтобы дать фокус, но на самом деле, по крайней мере один элемент управления должен иметь фокус, что это вы надеетесь сделать с этим? – Sayse

+0

Код 'Form.Mouseclick' может быть следующим:' if (txtBox1.Focused) txtBox2.Focus(); '. Фокус должен быть где-то .. – TaW

ответ

0

Насколько я знаю, Form.Select() и Form.Focus() не отбирают никакого другого элемента управления, который находится на форме.

Текстовое поле с невидимым манекеном невозможно, так как этот элемент управления будет иметь this.CanFocus, установленный в false.

1

При попытке потерять фокус из текстового поля при нажатии где-нибудь в форме я всегда создаю текстовое поле «фиктивный» или невидимое текстовое поле. Что-то вроде этого ...

<TextBox x:Name="DummyTB" VerticalAlignment="Top" HorizontalAlignment="Left" Grid.Row="2" Width="0" Height="0" /> 

Просто добавьте, где вы хотите разместить текстовое поле. А потом в коде позади добавить ...

DummyTB.Focus(); 
Смежные вопросы