0

我有一个加载的表单,点击一个按钮(将文本添加到文本框),将光标移动到文本框文本的末尾,然后将活动控件设置为文本框,因此用户可以立即开始输入。文本框填充得很好,但表单失去了焦点。这只是那里的选择线,如果我把它拿出来,它工作正常。用户必须单击表单以使其处于活动状态。有任何想法吗?

private void createNewFolder_Load(object sender, EventArgs e)
{
     addDate.PerformClick();
     folderNameTextBox.Select(folderNameTextBox.Text.Length, 0);
     this.ActiveControl = folderNameTextBox;
     this.Focus();
}
4

2 回答 2

1

焦点无法在 Load 事件中工作,表单尚不可见。到目前为止,最简单的方法是只为控件提供最低的 TabIndex。或者使用 Select() 方法:

private void createNewFolder_Load(object sender, EventArgs e)
{
    addDate.PerformClick();
    folderNameTextBox.Select(folderNameTextBox.Text.Length, 0);
    folderNameTextBox.Select();
}
于 2012-08-10T17:10:22.673 回答
0

代替:

this.ActiveControl = folderNameTextBox;

尝试:

folderNameTextBox.Focus();

如果文本框仍然失焦,请尝试使用以下方法选择它:

folderNameTextBox.Select();
于 2012-08-10T17:05:05.190 回答