当用户标记到我的NumericUpDown
时,我希望选择所有文字。这可能吗?
答案 0 :(得分:113)
private void NumericUpDown1_Enter(object sender, EventArgs e)
{
NumericUpDown1.Select(0, NumericUpDown1.Text.Length);
}
(请注意,Text属性在Intellisense中隐藏,但它在那里)
答案 1 :(得分:8)
我想为将来搜索Tab和Click的人添加此内容。
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事件
答案 2 :(得分:4)
我环顾四周,我有同样的问题,这对我有用,首先选择项目,第二个选择文本,希望将来有所帮助
myNumericUpDown.Select();
myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length);
答案 3 :(得分:2)
我创建了一个扩展方法来完成此任务:
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
答案 4 :(得分:-1)
尝试
myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length);
答案 5 :(得分:-1)
我有多个数字下拉框,并希望为所有人实现这一目标。我创建了:
private void num_Enter(object sender, EventArgs e)
{
NumericUpDown box = sender as NumericUpDown;
box.Select();
box.Select(0, num_Shortage.Value.ToString().Length);
}
然后通过将此功能与每个框的输入事件相关联(我没做过),我的目标就实现了。我花了一段时间才弄清楚我是初学者。希望这可以帮助其他人