如何在选项卡中选择Winforms NumericUpDown中的所有文本?

时间:2009-02-20 20:17:54

标签: c# .net winforms numericupdown

当用户标记到我的NumericUpDown时,我希望选择所有文字。这可能吗?

6 个答案:

答案 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);
}

然后通过将此功能与每个框的输入事件相关联(我没做过),我的目标就实现了。我花了一段时间才弄清楚我是初学者。希望这可以帮助其他人