请教如何实现双击treeview 的不同的两个节点,显示被赋予不同名称的同一个窗体,并且每个节点只能实例化一个窗体

ym2006 2004-09-13 05:27:31
请教如何实现双击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()
{
}
}
}
...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyaqiao 2004-12-22
  • 打赏
  • 举报
回复
bform2.BringToFront();
ym2006 2004-09-14
  • 打赏
  • 举报
回复
我已经active了,为什么没有激活
jkflyfox 2004-09-13
  • 打赏
  • 举报
回复
再次双击时,判断已经生成的窗体的标题,如果相同,则表示已经有存在的窗体,激活,否则显示新建的窗体。
csyw 2004-09-13
  • 打赏
  • 举报
回复
up
khpcg 2004-09-13
  • 打赏
  • 举报
回复
???

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧