光标选择移动到结束后,文本框失去焦点

时间:2012-08-10 17:02:12

标签: c# textbox

我有一个表单加载,点击按钮(将文本添加到文本框),将光标移动到文本框文本的末尾,然后将活动控件设置为文本框,这样用户就可以立即开始输入。文本框填充正常,但表单失去了焦点。这只是在那里的选择线,如果我把它拿出来,它工作正常。用户必须单击表单才能激活它。有什么想法吗?

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

而不是:

this.ActiveControl = folderNameTextBox;

尝试:

folderNameTextBox.Focus();

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

folderNameTextBox.Select();