c# MDI 子窗体之间切换

consider1001 2012-06-08 04:40:10
在一个MDI里可以打开多个子窗体,现在想,先打开A窗体,然后打开B窗体,当用户想再打开一个A窗体时,提示该类窗体已经打开,并将A窗体置前。
if (SignOfOpen.UpperBearingComponent == true)
{
MessageBox.Show("您已经打开一个同类窗口!");

newUpperBearingComponent.Activate();
return;
}
为什么active不了,但是用show又会创建新窗口,学生求教了
...全文
322 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
consider1001 2012-06-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

C# code
foreach (var item in this.MdiChildren)
{
if (item是不是A窗体)
{
MessageBox.Show("Test");
item.Activate();
return;
}
}

A窗体 frm = new A窗体();
frm.MdiParent = thi……
[/Quote]

是因为窗体定义的时机不对,导致无法active,已经解决,谢谢回答
__天涯寻梦 2012-06-08
  • 打赏
  • 举报
回复
foreach (var item in this.MdiChildren)
{
if (item是不是A窗体)
{
MessageBox.Show("Test");
item.Activate();
return;
}
}

A窗体 frm = new A窗体();
frm.MdiParent = this;
frm.Show();

我试了这样能正常激活
consider1001 2012-06-08
  • 打赏
  • 举报
回复
自己实现了,是因为窗体要定义成全局的,局部的话,在运行后就丢失了。

111,125

社区成员

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

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

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