C# 再次激活treeview

C# 再次激活treeview,c#,winforms,treeview,C#,Winforms,Treeview,我有两张表格。主窗体包含一个treeview。在我显示第二个表单之后,树视图失去了焦点。没关系,但我想在第二个表单关闭时激活treeview 表格1.cs namespace-ex { 公共部分类Form1:Form { 公共表格1() { 初始化组件(); } 私有无效按钮1\u单击(对象发送者,事件参数e) { 使用(Form2 Form2=新Form2(本)) { form2.StartPosition=FormStartPosition.CenterParent; form2.ShowD

我有两张表格。主窗体包含一个
treeview
。在我显示第二个表单之后,树视图失去了焦点。没关系,但我想在第二个表单关闭时激活treeview

表格1.cs

namespace-ex
{
公共部分类Form1:Form
{
公共表格1()
{
初始化组件();
}
私有无效按钮1\u单击(对象发送者,事件参数e)
{
使用(Form2 Form2=新Form2(本))
{
form2.StartPosition=FormStartPosition.CenterParent;
form2.ShowDialog();
}
}
内部无效示例()
{
treeView1.SelectedNode=treeView1.Nodes[1];
}
私有void Form1\u加载(对象发送方、事件参数e)
{
树节点=新树节点(“aaaa”);
treeView1.Nodes.Add(节点);
节点=新树节点(“bbbb”);
treeView1.Nodes.Add(节点);
节点=新树节点(“cccc”);
treeView1.Nodes.Add(节点);
}
}
}
表格2.cs

namespace-ex
{
公共部分类表单2:表单
{
表格1表格1;
公开表格2(表格1表格1)
{
初始化组件();
this.form1=form1;
}
私有无效按钮1\u单击(对象发送者,事件参数e)
{
这个。关闭();
form1.example();
//不起作用
格式1.treeView1.Focus();
form1.treeView1.Select();
}
}
}

Form2真的不应该和Form1如此亲密。试着像这样改变代码:

private void button1_Click(object sender, EventArgs e)
{
  using (Form2 form2 = new Form2(this))
  {
    if (form2.ShowDialog(this) == DialogResult.OK) {
      treeView1.Select();
      example();
    }
  }
}

如果Form2应该提供任何信息来添加到您的TreeView控件中,您应该在Form2上设置一个属性,并从同一代码块中访问它。

Form2真的不应该与Form1如此亲密。试着像这样改变代码:

private void button1_Click(object sender, EventArgs e)
{
  using (Form2 form2 = new Form2(this))
  {
    if (form2.ShowDialog(this) == DialogResult.OK) {
      treeView1.Select();
      example();
    }
  }
}
如果Form2应该提供任何要添加到TreeView控件的信息,那么您应该在Form2上设置一个属性,并从同一代码块中访问它