【问题标题】:C#, do forms have an option to start with a certain button "selected"?C#,表单是否可以选择以“选定”某个按钮开始?
【发布时间】:2011-07-28 14:45:04
【问题描述】:

这很难解释,但假设我有一个带有数字上下的表格。当表单开始时,我希望数字中的数字被突出显示,这意味着您只需按下数字而不点击框,它就会把它放在那里。我该怎么做呢?

编辑: 出于某种原因,在没有参数的控件上执行 .select() 会选择我想要的控件。但是使用 .select(0, 3) 不会突出显示框中的默认“1”。如何突出显示?

【问题讨论】:

标签: c# winforms windows-forms-designer


【解决方案1】:

您可以Focus() 控件并使IsDefault 属性在按下回车或返回时触发(根据需要从另一个控件)。

【讨论】:

  • 我没有看到 isdefualt 属性。
  • @Joey 您将焦点放在 NumericUpDown 上,如果您希望用户设置该值以执行其他操作(一个按钮),那么您在该其他控件上将 IsDefault 设置为 true。链接事件(有助于输入表单)。
  • +1 表示 isdefault。很多人忘记的非常有用的东西。
  • 这不是我想要的。它可以选择控件,但我希望它突出显示控件中的文本。
【解决方案2】:

只需在表单的OnLoad 事件中设置控件的焦点即可。

【讨论】:

  • 不起作用。 Focus() 仅在控件可见时有效。它在 OnLoad() 中还不可见。 Select() 有效。
【解决方案3】:

这应该可以解决问题:

myNumericUpDown.TabIndex = 0;
myNumericUpDown.Focus();
myNumericUpDown.Select(0, myNumericUpDown.Value.ToString().Length);

或将选择替换为:

 myNumericUpDown.Select(0, 99);

只要把它放在你的表单加载中:-)

编辑:
该控件还需要将 TabIndex 设置为 0
只要确保没有其他控件将 TabIndex 设置为 0 :-)

【讨论】:

  • 它对我来说很好,但默认值应该是“0”..你选择后将值设置为 1 吗?设置值后必须触发选择。 @乔伊
  • 是的,它设置为 1。然后我在 initializecomponenet();
  • 啊,当我测试它是我在表单上的唯一控件 - 请检查编辑:-) @Joey
【解决方案4】:

你可以先把注意力放在数字上,应该让你做你想做的事。

【讨论】:

    【解决方案5】:

    是的,您可以调用Focus() 方法将焦点设置到特定控件。

    例如在构造函数中调用myNumericUpDown.Focus();

    【讨论】:

    • 构造函数太早...控件集合尚未初始化。
    • InitializeComponent() 之后(Form 启动时)
    【解决方案6】:

    我认为您可以在后面代码中的按钮上使用 .Focus() 方法。

    【讨论】:

      【解决方案7】:

      在表单加载事件期间尝试这样的事情......

      yourControl.Focus();

      【讨论】:

        【解决方案8】:

        在 InitializeComponents() 之后你可以调用 numericUpDown.Focus()。

        【讨论】:

          【解决方案9】:

          设置表单的ActiveControl属性应该没问题。

          this.ActiveControl = numericUpDown1

          为了获取控件内选中的文本,添加这部分

          numericUpDown1.Select(0, numericUpDown1.Text.Length);
          

          【讨论】:

            猜你喜欢
            • 2016-08-06
            • 2010-11-21
            • 1970-01-01
            • 1970-01-01
            • 2018-11-17
            • 1970-01-01
            • 1970-01-01
            • 2019-06-16
            • 1970-01-01
            相关资源
            最近更新 更多