我有一个表单加载,点击按钮(将文本添加到文本框),将光标移动到文本框文本的末尾,然后将活动控件设置为文本框,这样用户就可以立即开始输入。文本框填充正常,但表单失去了焦点。这只是在那里的选择线,如果我把它拿出来,它工作正常。用户必须单击表单才能激活它。有什么想法吗?
private void createNewFolder_Load(object sender, EventArgs e)
{
addDate.PerformClick();
folderNameTextBox.Select(folderNameTextBox.Text.Length, 0);
this.ActiveControl = folderNameTextBox;
this.Focus();
}
答案 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();