请教如何实现双击treeview 的不同的两个节点,显示被赋予不同名称的同一个窗体,并且每个节点只能实例化一个窗体
请教如何实现双击treeview 的不同的两个节点,显示被赋予不同名称的同一个窗体,并且再次双击节点的时候不再生成新窗体,而是显示存在的窗体,我用aform.active(),窗体仍然不能活的焦点,焦点仍然在主窗体上,不能把form1窗体提到前边。
主窗体;
private Form2 aform2, bform2;
switch(name)
{ case "节点0":
try
{
aform2=new Form2();
aform2.setname(name);
aform2.show();
}
catch(singletonException ex)
{
aform2.Active();
}
break;
case"节点1":
try
{
bform2=new Form2();
bform2.setname(name);
bform2.show();
}
catch(singletonException ex)
{bform2.Active();}
break;
default:
break;
}
Form2窗体主要部分:
public static aflag=false;
public static bfalg=false;
public void setname(string name)
{
if(name=="节点0")
{
if(afalg)
{
throw new singletonException();
}
else
{
aflag=true;
}
}
else
{
if(bflag)
{
throw new singletonException();
}
else
{
bflag=true;
}
}
}
private void Form2_Closed(object sender, System.EventArgs e)
{
if(this.Text=="节点0"){aflag=false;}
else{bfalg=false;}
}
自定义异常类。
using System;
namespace WindowsApplication10
{
public class singletonException:Exception
{
public singletonException():base()
{
}
}
}