C#里怎样不重叠打开几个不相同的MDI子窗体啊? 关键词:是几个不相同的MDI子窗体.就是假如有A,B,C子窗体分别由不同按钮控制,假如当前父窗口里已经打开了A,可我接着打开B或C,怎样不让A和B同时显示在父窗口里啊?我是新手,请附上示例行吗?先谢谢各位了啊!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 foreach (Form frm in this.Controls)// 先关闭子窗口,再打开新窗口{ if (frm.GetType() == "System.Form") frm.Close();}Form2 frm2= new Form2()... foreach (Form frm in this.Controls) // 先关闭子窗口{ if (frm.GetType() == "System.Form") frm.Close();}Form2 frm2= new Form2() // 再打开新窗口frm.Show... 更正1楼代码:foreach (Form frm in this.Controls) frm.Close();Form2 frm2 = new Form2()frm2.Show... 你是用的frm.show()还是frm,showdialog()啊? foreach (Form frm in this.MdiChildren) frm.Close();Form2 frm2 = new Form2();frm2.Show(); 你的代码我是这样用的: private void toolStripMenuItem1_Click(object sender, EventArgs e) {//打开子窗体1 foreach (Form frm in this.Controls) { if (frm.GetType().ToString () == "System.Form") { frm.Visible = false; } } Form1 frm1 = new Form1(); frm1.Show(); }可是运行不了,在Form frm这里类型转换出错了:无法将类型为“System.Windows.Forms.MenuStrip”的对象强制转换为类型“System.Windows.Forms.Form”。这个又怎么办呢?改MenuStrip 吗? 哦,后边还加一句:frm1.MdiParent = this;但还是不行! 发现这样的代码还挺好用的. private static Form1 frm1; private void toolStripMenuItem1_Click(object sender, EventArgs e) {//打开子窗体1 if (frm1 == null || frm1.IsDisposed) { if (frm2 != null) {//判断有没有打开的其他子窗体.有的话就把它们给隐藏了. frm2.Visible = false; } frm1 = new Form1(); frm1.MdiParent = this; frm1.Show(); } else { frm1.Activate(); } }不过还是得跟各位说声3Q啊! c# 写的Activex,在js中调用activex中的一个方法,如何调用 1307 0x051B 这个安全 ID 不能指派为此对象的所有者 如何设置将时间倒数显示 MatLab 怎么生成C#支持的DLL文件啊? 求教一个取值方法 Calendar控件获取不到值的问题,求助 高分恳求:不用File.Move重命名文件和CMD的代码。 在c#下如何查询网卡模式,如何设置网卡模式? 在C#中编写的组件能不能想ACTIVEX控件嵌在网页里 关于事务处理的应用 发货单界面的数据同步 MDI窗体如何加载子窗体
// 先关闭子窗口,再打开新窗口
{
if (frm.GetType() == "System.Form") frm.Close();
}
Form2 frm2= new Form2()
...
foreach (Form frm in this.Controls) // 先关闭子窗口
{
if (frm.GetType() == "System.Form") frm.Close();
}
Form2 frm2= new Form2() // 再打开新窗口
frm.Show...
Form2 frm2 = new Form2()
frm2.Show...
foreach (Form frm in this.MdiChildren) frm.Close();
Form2 frm2 = new Form2();
frm2.Show();
{//打开子窗体1
foreach (Form frm in this.Controls)
{
if (frm.GetType().ToString () == "System.Form")
{
frm.Visible = false;
}
}
Form1 frm1 = new Form1();
frm1.Show();
}
可是运行不了,在Form frm这里类型转换出错了:
无法将类型为“System.Windows.Forms.MenuStrip”的对象强制转换为类型“System.Windows.Forms.Form”。
这个又怎么办呢?改MenuStrip 吗?
frm1.MdiParent = this;
但还是不行!
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{//打开子窗体1
if (frm1 == null || frm1.IsDisposed)
{
if (frm2 != null)
{//判断有没有打开的其他子窗体.有的话就把它们给隐藏了.
frm2.Visible = false;
}
frm1 = new Form1();
frm1.MdiParent = this;
frm1.Show();
}
else
{
frm1.Activate();
}
}不过还是得跟各位说声3Q啊!