如何在WinForms的NumericUpDown选项卡中select所有文本?

当用户键入我的NumericUpDown我想所有文本被选中。 这可能吗?

private void NumericUpDown1_Enter(object sender, EventArgs e) { NumericUpDown1.Select(0, NumericUpDown1.Text.Length); } 

(请注意,Text属性隐藏在Intellisense中,但它在那里)

我想为未来searchTab和Click的人添加这个function。

乔恩B答案完美的选项卡,但我需要修改,以包括点击

下面将select文本,如果您select或单击。如果您单击并input框,然后将select文本。 如果您已经专注于该框,那么点击将执行通常的操作。

  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事件

我环顾四周,我有同样的问题,这对我有用,首先select项目,第二个select文本,希望它在未来帮助

 myNumericUpDown.Select(); myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length); 

我创build了一个扩展方法来完成这个:

VB:

 <Extension()> Public Sub SelectAll(myNumericUpDown As NumericUpDown) myNumericUpDown.Select(0, myNumericUpDown.Text.Length) End Sub 

C#:

 public static void SelectAll(this NumericUpDown numericUpDown) numericUpDown.Select(0, myNumericUpDown.Text.Length) End Sub 

尝试

  myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length); 

我有多个numericupdown框,并希望实现这一点。 我创build:

 private void num_Enter(object sender, EventArgs e) { NumericUpDown box = sender as NumericUpDown; box.Select(); box.Select(0, num_Shortage.Value.ToString().Length); } 

然后通过将这个function与每个框的input事件相关联(我没有这样做),我的目标就达到了。 花了一段时间才弄清楚我是初学者。 希望这可以帮助别人