Когда пользователь входит в мой NumericUpDown, я бы хотел, чтобы весь текст был выбран. Возможно ли это?
Как выбрать весь текст в Winforms NumericUpDown после входа?
Ответ 1
private void NumericUpDown1_Enter(object sender, EventArgs e)
{
NumericUpDown1.Select(0, NumericUpDown1.Text.Length);
}
(Обратите внимание, что свойство Text скрыто в Intellisense, но оно там)
Ответ 2
Я хотел добавить к этому для будущих людей, которые искали вкладки и клики.
Ответ на Jon B отлично подходит для Tab, но мне нужно было изменить его, нажав
Ниже выберем текст, если вы входите или входите. Если вы нажмете и вы введете поле, тогда он выберет текст. Если вы уже сосредоточены на поле, то щелчок будет делать то, что он обычно делает.
bool selectByMouse = false;
private void quickBoxs_Enter(object sender, EventArgs e)
{
NumericUpDown curBox = sender as NumericUpDown;
curBox.Select();
curBox.Select(0, curBox.Text.Length);
if (MouseButtons == MouseButtons.Left)
{
selectByMouse = true;
}
}
private void quickBoxs_MouseDown(object sender, MouseEventArgs e)
{
NumericUpDown curBox = sender as NumericUpDown;
if (selectByMouse)
{
curBox.Select(0, curBox.Text.Length);
selectByMouse = false;
}
}
Вы можете использовать это для нескольких элементов numericUpDown. Просто нужно установить события Enter и MouseDown
Ответ 3
Я смотрел вокруг, у меня была такая же проблема, и это работает для меня, сначала выберите элемент, а второй выбирает текст, надеюсь, что он поможет в будущем
myNumericUpDown.Select();
myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length);
Ответ 4
Я создал метод расширения для этого:
VB:
<Extension()>
Public Sub SelectAll(myNumericUpDown As NumericUpDown)
myNumericUpDown.Select(0, myNumericUpDown.Text.Length)
End Sub
С#:
public static void SelectAll(this NumericUpDown numericUpDown)
numericUpDown.Select(0, myNumericUpDown.Text.Length)
End Sub
Ответ 5
Try
myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length);
Ответ 6
У меня было несколько полей numericupdown и я хотел добиться этого для всех. Я создал:
private void num_Enter(object sender, EventArgs e)
{
NumericUpDown box = sender as NumericUpDown;
box.Select();
box.Select(0, num_Shortage.Value.ToString().Length);
}
Затем, связав эту функцию с событием Enter для каждого окна (чего я не сделал), моя цель была достигнута. Понадобился время, чтобы понять, как я новичок. Надеюсь, что это поможет кому-то еще.