2013-03-28 4 views
-1

Моя программа компилируется и работает нормально, пока вы используете только мышь для навигации. Я заметил, что когда я нажимаю «Enter», он автоматически регистрируется, щелкая одну из моих кнопок в окне. Я начал играть с свойством «AcceptButton» и установил его на соответствующие кнопки или даже на «Нет». Кажется, что ничего не работает, и он остается с кнопкой по умолчанию, которая, похоже, привязана к «Enter». Я заметил, что кнопки, которые он собирается, являются первыми, которые я определил в коде.Кнопка ввода автоматически нажимает кнопку без инициализации (C#/Visual Studio)

Короче говоря, я хочу удалить значение «по умолчанию» для ключа «Ввод» для того, что на самом деле определяет свойство «AcceptButton».

Спасибо,

Энди

+0

Это приложение для окон? –

+0

Да, это ..... – Andy

+0

Не делайте кнопку с 'TabIndex = 0'. Перейдите в «Вид» - «Заказ табуляции», чтобы изменить порядок ваших элементов управления. – LarsTech

ответ

0

вы могли бы захватить onKeyDown событие, а не обрабатывать его, если ввести

protected override void OnKeyDown(KeyEventArgs e) 
{ 
    if (e.KeyCode == Keys.Enter) 
    { 
     this.YOURBUTTON.PerformClick(); 
    } 
} 
+0

Я пробовал сегмент кода, похожий на« OneKeyDown ». Я изменил свойства TabIndex своих кнопок, так что тот, который я хотел выбрать, теперь «0». Работает так, как я предполагал, но я до сих пор не понимаю, почему свойство «AcceptButton» не работает. СПАСИБО ЗА ПОМОЩЬ: D – Andy

+0

была одной из кнопок, установленных для индекса табуляции ноля уже при попытке установить «acceptButton» proberty? –

+0

Да, это переопределяет свойство? – Andy

0

Предполагая, что WinForm имеет TextBox установите TextBox.TabIndex в 0 Снова сделав предположение, что этот TextBox должен быть первым элементом пользовательского интерфейса, с которым пользователь взаимодействует.

Затем измените все кнопки, чтобы иметь TabIndex> 0.

Наконец, обновите Form.AcceptButton быть кнопка, которую вы хотите иметь для по умолчанию Accept/Enter.

Если нет TextBox или другого элемента, который может иметь более низкий TabIndex, тогда кнопка будет элементом UI по умолчанию с фокусом при загрузке формы.