VS2005【防止同一From被多次打开】??

wzgdyn 2010-08-24 11:41:27
C#, C/S, winfrom



//点击菜单打开from窗口后,再次点击该菜单,又会打开该from,这样就会打开很多相同的from,
//怎么才可以避免一个from 被多次重复打开??
//当再次点击菜单时,如果该窗口已经打开,怎样将窗口置为最前端显示 ??

private void ToolStripMenuItem01_Click(object sender, EventArgs e)
{
frmbclass from = new frmbclass();
from.Show();
}




初学C#,
请各位高手详细说明,谢谢
...全文
117 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shqx2 2010-08-24
  • 打赏
  • 举报
回复
if (shipCompu == null || shipCompu.IsDisposed)
{
shipCompu = new ShipCompu();
shipCompu.Show();
}
else
{
shipCompu.Activate();
IntPtr i = WinHs.GetForegroundWindow();
if (WinHs.IsIconic(i))
{
WinHs.ShowWindowAsync(i, SW_RESTORE);
}
else
{
WinHs.ShowWindowAsync(i, SW_SHOWNORMAL);
}
}
wzgdyn 2010-08-24
  • 打赏
  • 举报
回复
多谢各位帮忙

谢谢5楼jointan
baozi22694 2010-08-24
  • 打赏
  • 举报
回复
单例模式。。
jointan 2010-08-24
  • 打赏
  • 举报
回复

private void ToolStripMenuItem01_Click(object sender, EventArgs e)
{
foreach(Form frm in Application.OpenForms)
{
if(frm is frmbclass)
{
frm.Activate();
frm..WindowState = FormWindowState.Normal;
return;
}
}
frmbclass from = new frmbclass();
from.Show();
}
兔子-顾问 2010-08-24
  • 打赏
  • 举报
回复
窗体做单例模式。Instance属性中判断是否关闭或没打开。
一切为了你 2010-08-24
  • 打赏
  • 举报
回复
from.ShowDialog();
喵喵猫喵 2010-08-24
  • 打赏
  • 举报
回复
private void button1_Click(object sender, System.EventArgs e)
{
if( childForm == null || childForm.IsDisposed )
{ //第一次实例化或实例化窗体被关了,都要重新实例化
childForm = new ChildForm();
childForm.MdiParent = this;

childForm.Show(); //显示

}
}

qq100191677 2010-08-24
  • 打赏
  • 举报
回复

在窗体中加入如下代码
private static 窗体 instance = null;
//添加一个属性
public static 窗体 Instance
{
set{
}
get{
if(instance == null){
new 窗体();
}
return instance;
}
}
在窗体的构造函数中加入如下代码
instance = this;
创建窗体Closed事件
private void 窗体_FormClosed(object sender, FormClosedEventArgs e)
{
instance = null;
}

使用方法:
在要调用该窗体的地方加入如下代码
窗体 myfrm = 窗体.Instance;
myfrm.Show();
myfrm.Activate();
wl076 2010-08-24
  • 打赏
  • 举报
回复

Form frm = Application.OpenForms["Form1"];
if (frm != null)
{
frm .Show();
}
else
{
Form1 F1 = new Form1();
F1.Show();
}

gohappy2008 2010-08-24
  • 打赏
  • 举报
回复
可以参考:
http://www.hhxue.com/ncre/two/c/fudao/200811/65236.html

111,107

社区成员

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

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

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