如何让窗口或对话框显示的时候只显示最新的一个,关闭以前的? 如何让对话框显示的时候只显示最新的一个,关闭以前?我定义了一个MyForm类,我每次声明了一个新的MyForm对象后,在用Show()方法显示的时候,如何将以前声明的且已经显示的MyForm对象关闭掉。这样可以保证没次只能显示一个MyForm。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 单例,不是销毁而是始终都只是显示一个对话框就OK了,关闭时不要让它close,hide一下就ok了,有关单例,google 一下 singleton #region MDI子窗体实例化一次 /// <summary> /// 名称:CheckChildOpenState /// 功能:用子窗体的Name进行判断是否已实例化,如果存在则将他激活 /// </summary> /// <param name="MdiForm">容器窗体</param> /// <param name="ChildForm">子窗体</param> public static void CheckChildOpenState(Form MdiForm, Form ChildForm) { foreach (Form tempChildForm in MdiForm.MdiChildren) { if (tempChildForm.Name == ChildForm.Name.ToString()) { if (tempChildForm.WindowState == FormWindowState.Minimized) { tempChildForm.WindowState = FormWindowState.Normal; } tempChildForm.Activate(); return; } } ChildForm.MdiParent = MdiForm; ChildForm.Show(); } #endregion 不是,是你打开的时候,就不会打开多个.你把你的主窗体和子窗体传进去行就行.调用:CheckChildOpenState(主窗体name,子窗体name) 也可通过窗口句柄进行判断![DllImport("user32.dll",EntryPoint="SetParent",CharSet=CharSet.Auto)]internal static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndParent); 初学GDI+ 请教个问题 急用 Socket调用WebService 正式版的visual studio最新版本是2008吗 关于DataSet 大文件的上传问题.请高手帮忙。急!!!! 一个不知道难不难的问题,这样的函数如何定义? 关于C#中DataSet的问题... .NET里怎么这么多问题啊? 简单问题 请问Saucer:那个关于正则表达式的问题? c#/.net如何在程序里获取存储过程返回的结果集? 各位帮忙看一个算法问题,数组的,C#代码
google 一下 singleton
/// <summary>
/// 名称:CheckChildOpenState
/// 功能:用子窗体的Name进行判断是否已实例化,如果存在则将他激活
/// </summary>
/// <param name="MdiForm">容器窗体</param>
/// <param name="ChildForm">子窗体</param>
public static void CheckChildOpenState(Form MdiForm, Form ChildForm)
{
foreach (Form tempChildForm in MdiForm.MdiChildren)
{
if (tempChildForm.Name == ChildForm.Name.ToString())
{
if (tempChildForm.WindowState == FormWindowState.Minimized)
{
tempChildForm.WindowState = FormWindowState.Normal;
}
tempChildForm.Activate();
return;
}
}
ChildForm.MdiParent = MdiForm;
ChildForm.Show();
}
#endregion
internal static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndParent);