当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何在选项卡中选择WinformsNumericUpDown中的所有文本?》经验,为你挑选了2个好方法。

当用户NumericUpDown选中我的时候,我希望选择所有文本.这可能吗?



1> Jon B..:
private void NumericUpDown1_Enter(object sender, EventArgs e)
{
    NumericUpDown1.Select(0, NumericUpDown1.Text.Length);
}

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


@Jon:Darn intellisense: - /使用Text属性调用.
我只是在表单构造期间尝试这样做(将焦点设置为特定的NumericUpDown并选择其所有文本).我不得不调用`Select()`AND`Select(0,NumericUpDown1.Text.Length);`,第一个设置焦点,第二个选择文本.所以,给来这里寻找方法去做我正在做的事情的其他人的一个注意事项:你必须让这两个调用得到你想要的结果,即使它们都被命名为同一个东西(我一直期待这个电话) to`Select(start,length)`也设置焦点,如'Select()`did)

2> BrinkDaDrink..:

我想为将来搜索Tab和Click的人添加这个.

Jon B的回答非常适合Tab,但我需要修改以包含click

如果您选中或单击,下面将选择文本.如果单击并输入框,则会选择文本.如果您已经专注于该框,则单击将执行通常所做的操作.

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

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有