CF - 将焦点设置为特定控件

时间:2010-06-10 08:42:34

标签: c# winforms compact-framework focus

我有一个Form,其面板包含一些textBoxes和checkBox,它位于面板之外。 每次加载表单时,复选框都有焦点。

我在表单加载时放了en事件处理程序,并尝试将焦点设置在第一个文本框上,而不是将其放在复选框上。

this.Activated += new EventHandler(form_Activated);

在方法中我尝试将焦点设置在面板中的第一个文本框

        private void form_Activated(object sender, EventArgs e)
    {
        if (this.parametersPanel.Controls.Count > 0)
        {
            this.parametersPanel.Focus();
            (this.parametersPanel.Controls[0]).Focus();
        }
    } 

这不起作用,有些人可以帮我吗?

5 个答案:

答案 0 :(得分:1)

尝试直接在文本框上设置焦点,而不是使用面板的控件索引。

答案 1 :(得分:1)

在设计模式下,选择您的控件并将其tabindex设置为0

答案 2 :(得分:1)

选项1:

将它放在表单的加载事件中:

this.ActiveControl = myTextBox;

选项2:

将它放在表单的加载事件中:

this.Show();
myTextBox.Focus();

在TextBox可见之前,Focus()将无效。

答案 3 :(得分:0)

而不是Activated尝试Shown

答案 4 :(得分:0)

Yoc可以使用Ahmet提供的解决方案。由于您希望文本框具有焦点...将选项卡索引设置为零将执行此操作。

你也可以使用textbox'e focus方法在表单的加载事件中设置焦点....