C #, формы имеют возможность начать с определенной кнопки «выбран»? - PullRequest
0 голосов
/ 28 июля 2011

Это было трудно объяснить, но, скажем, у меня есть форма с цифрой вниз. Когда форма запустится, я хочу, чтобы число в числовом значении вверх-вниз было выделено. Это означает, что вы можете просто нажать и набрать номер, не щелкая в поле, и оно будет вставлено туда. Как бы я поступил так?

РЕДАКТИРОВАТЬ: По какой-то причине, выполнение .select () для элемента управления без параметров делает выбор элемента управления, который я хочу. Но использование .select (0, 3) не выделяет значение по умолчанию «1», которое находится в поле. Как мне это выделить?

Ответы [ 9 ]

2 голосов
/ 28 июля 2011

Вы можете Focus() элемент управления и сделать свойство IsDefault истинным для пожаров при нажатии клавиши ввода или возврата (из других элементов управления, как вам нужно).

1 голос
/ 28 июля 2011

Это должно сработать:

myNumericUpDown.TabIndex = 0;
myNumericUpDown.Focus();
myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length);

Или поменяйте местами выбор с помощью:

 myNumericUpDown.Select(0, 99);

Просто поместите это в форму load: -)

РЕДАКТИРОВАТЬ:
Элемент управления также должен иметь значение TabIndex, равное 0
Просто убедитесь, что никакие другие элементы управления не имеют TabIndex равным 0: -)

1 голос
/ 28 июля 2011

Просто установите фокус элемента управления в событии OnLoad формы.

0 голосов
/ 28 июля 2011

Установите свойство ActiveControl формы, и все будет в порядке.

this.ActiveControl = numericUpDown1

Чтобы получить текст, выделенный в элементе управления, добавьте эту часть

numericUpDown1.Select(0, numericUpDown1.Text.Length);
0 голосов
/ 28 июля 2011

После InitializeComponents () вы можете вызвать numericUpDown.Focus ().

0 голосов
/ 28 июля 2011

Во время события загрузки формы попробуйте что-то вроде этого ...

yourControl.Focus ();

0 голосов
/ 28 июля 2011

Я думаю, вы можете просто использовать метод .Focus () для кнопки в вашем коде позади.

0 голосов
/ 28 июля 2011

Да, вы можете вызвать метод Focus(), чтобы установить фокус на конкретный элемент управления.

например. в конструкторе вызов myNumericUpDown.Focus();

0 голосов
/ 28 июля 2011

Вы можете начать с фокусировки на цифре вверх, чтобы должен позволять вам делать то, что вы хотите.

...