在树视图中选择节点后,将焦点置于文本框中

时间:2015-02-03 02:27:52

标签: c# textbox focus

当我尝试通过在TreeView AfterSelect事件上调用textBox1.Focus()方法来设置焦点时,未选中TextBox。 如果我在textBox1 Leave事件上写textBox1.Focus()它是有效的。我怎么能更正确地做到这一点?为什么焦点会丢失?

2 个答案:

答案 0 :(得分:0)

在树视图中将焦点设置为文本框输入事件。

您的代码不起作用,因为在树视图真正集中之前引发了AfterSelect事件。

答案 1 :(得分:0)

您可以将TreeView控件的SelectedNode属性设置为Nothing,然后将焦点设置为TextBox。就像这里一样:

Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
    TreeView1.SelectedNode = Nothing
    TextBox1.Focus()
End Sub

这样做的缺点是您没有看到单击TreeView的哪个节点。我不知道你能不能忍受这个。