当我尝试通过在TreeView AfterSelect事件上调用textBox1.Focus()
方法来设置焦点时,未选中TextBox。
如果我在textBox1 Leave事件上写textBox1.Focus()
它是有效的。我怎么能更正确地做到这一点?为什么焦点会丢失?
答案 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的哪个节点。我不知道你能不能忍受这个。