繁体   English   中英

在C#Windows Forms应用程序上聚焦或选择文本框

[英]Focus or Select text box on c# windows forms application

我正在制作Windows窗体应用程序,并且在启动该应用程序时,光标位于错误的文本框中。

我尝试过在线搜索其他一些问题,但似乎没有任何效果。

我已经尝试过inputBox.Focus(); bot在初始化组件之后,我也在输入框方法中尝试了此操作,并尝试了inputBox.Select();。 在一些地方也是如此。 似乎没有什么不同。

我还看到您可以将文本框的选项卡索引设置为零,但是不幸的是我不明白。 我在Visual Studio的任何地方都找不到此选项。 我认为这将在设计器中文本框的属性中。 我看错地方了吗? 还是应该寻找其他解决方案?

这是我的代码:

namespace Project_9
{
public partial class Form1 : Form
{
    const int MAX = 10;
    Bowling objectRef;
    public Form1()
    {
        InitializeComponent();
        objectRef = new Bowling(10);

    }
    private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
    {
        Close();
    }
    private void aboutToolStripMenuItem1_Click(object sender, EventArgs e)
    {
        MessageBox.Show("Jonathan Spalding\nCS1400\nProject 9");
    }
    private void inputBox_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.KeyData == Keys.Enter)
        {
            string text = inputBox.Text;
            if (text == "")
            {
                highScoreBox.Text = objectRef.GetHighScorePlayer() + ": " + string.Format("{0:d}", objectRef.GetHighScore());
                lowScoreBox.Text = objectRef.GetLowScorePlayer() + ": " + string.Format("{0:d}", objectRef.GetLowScore());
                averageScoreBox.Text = string.Format("{0:f2}", objectRef.GetAverageScore());
            }
            else
            {
                inputBox.Clear();
                objectRef.AddPlayer(text);
            }
        }
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        inputBox.Focus();
    }
}

}

选择文本框。 在属性窗口中找到TabIndex(如果找不到它,请按照红色小矩形在AZ中对属性进行排序。

确保:1.与其他控件相比,TabIndex是最小值(例如,在我的示例中,两个组合框每个都有一个TabIndex值)。2. TabStop值为True。

在此处输入图片说明

在加载事件中

ActiveControl = inputBox;

您可以将TabIndex属性设置为大于0的值。该控件的最小值将集中在启动上。 然后,可以在其他控件上设置TabIndex,以便在按Tab键时,下一个控件(具有更高的TabIndex)将成为焦点。

在表单构造函数中,您可以使用:

public Form1()
{
    InitializeComponent();

    inputBox.Focus();
}

要么

public Form1()
{
    InitializeComponent();

    inputBox.Focus();
    inputBox.Select();
}

我认为最好的方法是通过在控件上单击鼠标来设置TabIndex。 只需转到查看菜单,然后转到TabIndexOrder菜单选项。 然后,您可以通过按所需方式单击表单上表示的TabIndex来设置TabIndex顺序。 完成后,只需再次选择TabIndexOrder菜单选项即可退出帮助器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM