在树视图中选择节点后将焦点置于文本框
Give focus to a textbox after a node is selected in treeview
当我尝试通过调用 TreeView AfterSelect 事件的 textBox1.Focus()
方法来设置焦点时,未选中 TextBox。
如果我在 textBox1 Leave 事件上写 textBox1.Focus()
它会起作用。我怎样才能更正确地做到这一点?为什么会失去焦点?
在树视图输入事件中将焦点设置到您的文本框。
您的代码不起作用,因为在 treeview 真正聚焦之前引发了 AfterSelect 事件。
您可以将 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 的哪个节点。不知道你能不能接受。
当我尝试通过调用 TreeView AfterSelect 事件的 textBox1.Focus()
方法来设置焦点时,未选中 TextBox。
如果我在 textBox1 Leave 事件上写 textBox1.Focus()
它会起作用。我怎样才能更正确地做到这一点?为什么会失去焦点?
在树视图输入事件中将焦点设置到您的文本框。
您的代码不起作用,因为在 treeview 真正聚焦之前引发了 AfterSelect 事件。
您可以将 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 的哪个节点。不知道你能不能接受。