Я делаю форму редактора конфигурации и столкнулся с небольшой проблемой, я трачу много времени на удобный и эффективный дизайн и поэтому хочу, чтобы TabIndex
работал идеально, чтобы свести к минимуму использование мыши.
Теперь моя проблема заключается в том, что когда я пытаюсь перемещаться по элементам управления, я заметил, что CheckBox
не получает фокуса, например, если вы нажимаете его мышью, это означает, что я не могу перемещаться по элементам управления и изменять их состояние непосредственно с клавиатуры.
Как сделать так, чтобы CheckBox
получал фокус через TabIndex
и TabStop
, чтобы я мог просто нажать Enter, чтобы изменить его состояние с помощью события KeyUp.
Ниже изображение моей формы, а рядом с ним изображение TabIndex
, а также код, взятый непосредственно из класса Form.Designer.cs
.
//
// cbxDefaultPublic
//
this.cbxDefaultPublic.AutoSize = true;
this.cbxDefaultPublic.Location = new System.Drawing.Point(247, 12);
this.cbxDefaultPublic.Name = "cbxDefaultPublic";
this.cbxDefaultPublic.Size = new System.Drawing.Size(15, 14);
this.cbxDefaultPublic.TabIndex = 1;
this.cbxDefaultPublic.TabStop = true;
this.cbxDefaultPublic.UseVisualStyleBackColor = true;
Обратите внимание, что мне было трудно объяснить это, потому что это немного сложно, и я не знал, как объяснить это так просто со мной, если я ошибся в нескольких вещах.
SpaceBar
работает, но меня смущает то, что визуальные эффекты дляCheckBox
не меняются, когда он находится в фокусе, например, как элементы управления (кнопки fx) становятся слегка синими, когда они получают фокус . - person Simon Jensen   schedule 20.01.2016CheckBox
остается серым, а текст на нем будет иметь пунктирный контур. - person Simon Jensen   schedule 20.01.2016CheckBox
на LightBlue, как если бы вы наводили на него указатель мыши, как когда кнопки находятся в фокусе. - person Simon Jensen   schedule 20.01.2016