2016-01-11 11 views
1

Я работаю над проектом, в котором у меня есть вход с проверкой. Рядом с ним есть набор кнопок, которые вы можете нажать. Когда вы фокусируете вход, кнопки будут показаны. Но когда вы нажмете на одну из кнопок, фокус ввода исчезнет, ​​и начнется проверка, и кнопки будут скрыты.Предотвращение фокусировки на управлении

Я хочу, чтобы фокус ввода не терялся в любое время.

Возможно ли активировать/сфокусировать кнопки при нажатии на них или можно ли принудительно сфокусироваться на входе, не теряя его?

Я попробовал это на контроле, но, кажется, работает только на форме:

Const WS_EX_NOACTIVATE As Integer = &H8000000 
Const WS_EX_TOOLWINDOW As Integer = &H80 

Protected Overrides ReadOnly Property CreateParams As CreateParams 
    Get 
     Dim ret As CreateParams = MyBase.CreateParams 
     ret.ExStyle = ret.ExStyle Or WS_EX_NOACTIVATE Or WS_EX_TOOLWINDOW 
     Return ret 
    End Get 
End Property 
+1

[Как остановить нажатие кнопки с помощью клавиш клавиатуры, таких как «Пробел или Ввод». C#] (http://stackoverflow.com/questions/32823525/how-to-stop-pressing-button-using-keyboard-keys-like-spacebar-or-enter-c-shar/32825190#32825190), [Как для создания winform с кнопками, которые никогда не будут привлекать фокус клавиатуры] (http://stackoverflow.com/questions/10077945/how-to-create-a-winform-with-buttons-that-will-never-attract-keyboard- фокус). Установка 'ControlStyles.Selectable' на' false' также предотвращает получение фокуса при щелчке мышью. –

+0

Установите для свойства «CausesValidation» значение «False». –

ответ

0

Установите TabStop property кнопок ложь.

Установив это значение в false, вы перестанете получать фокус, когда пользовательские вкладки, но они все равно будут доступны.

1

Вы можете создать пользовательскую кнопку и сделать его Невыбираемое:

Public Class MyButton 
    Inherits Button 

    Public Sub New() 
     SetStyle(ControlStyles.Selectable, False) 
    End Sub 

End Class 

Если вы не хотите, чтобы создать пользовательский элемент управления, установите CausesValidation = False для нормальной кнопки и он получит фокус, но Безразлично» t вызывает проверку.

 Смежные вопросы

  • Нет связанных вопросов^_^