取得所有子窗体,通过子窗体的名称关闭子窗体
private void button3_Click(object sender, System.EventArgs e)
{
foreach(System.Windows.Forms.Form f in this.OwnedForms )
{
if(f.Name == "Form2")
{
f.Close();
}
}
}
private void button3_Click(object sender, System.EventArgs e)
{
foreach(System.Windows.Forms.Form f in this.OwnedForms )
{
if(f.Name == "Form2")
{
f.Close();
}
}
}
解决方案 »
- C#调用 Axis2含对象的方法
- C#的子窗体中的按钮打开另一个窗体也显示在父窗体中的splitContainer1控件的panel中怎么实现
- MDI主菜单如何进行多线程加载子窗口的操作?
- 关于远程数据库连接!~~~~
- 简单问题
- 如何在DataGrid里的用substring从数据库的news表的news_BiaoTi(原来长度是30,把新闻标题的前10个字符取出,然后后面加省略号,并显示在D
- 急需.NET语言编程规范(比如命名规则等)再线等待。 !!
- 如何在WinForm中利用ZedGraph读取SQL Server中的数据绘制图表?
- 串口设备连接台式机的问题
- DataGrid简单问题
- 在MDI窗口里的子MDI窗口最小化了,如果用程序还原,应该怎么写?
- 在dataGrid中的某一行中能嵌套行吗,就是一行中又包括两个小行
lonestar555(孤竹 || Bamboo)的办法不错,应该可以解决。先去试试,回头来揭帖!
呵呵,谢谢了!
不过我想你不愿来通过循环来关闭窗体吧!
我觉得你的思路要改一下,把你要打开的窗体做成在你的代码可访问的范围内,比如放到到类的变量声明处,声明一个private的变量,而只不在你的那个方法内.这样在一个地方实例化,可以在多个地方访问.也就可以轻松关闭了.
因为你是用Show而不是ShowDialog所以才会有这个问题.
a.close();
为什么要在MDI窗体里面越级处理呢?