当前位置: 代码迷 >> C# >> 求代码,怎么隐藏windows窗体?
  详细解决方案

求代码,怎么隐藏windows窗体?

热度:40   发布时间:2016-05-05 03:11:55.0
求代码,如何隐藏windows窗体????
VS.NET 2010 开发winform

假设主窗体A,通过.ShowDialog();显示窗体B,

在窗体B中有一BUTTON,点击BUTTON,通过.ShowDialog();显示窗体C

请问:显示窗体C的同时,关闭窗体B(主窗体A不关闭),请问BUTTON的事件中应该添加什么代码???


注:
我试了一下,BUTTON用Hide(),主窗体A也会一起影藏掉


------解决思路----------------------
通过B调用C,B是C的父窗体,C呈现出来,它的父窗体B不能关闭。
------解决思路----------------------
你这个是要换主窗口吗?我之前弄过一个登陆窗口,点击登陆,将登陆的主窗口转换到第二个登陆窗口。要必须明确主窗口和子窗口的关系
------解决思路----------------------
既然要隐藏父窗体,那么.ShowDialog()的意义是什么
------解决思路----------------------
你这样就得到方案了嘛,控制器放在a上,控制显示b还是c,b、c只能关闭或隐藏自己
------解决思路----------------------
使用委托。
1:在窗口C中创建委托,在窗口C的Load 事件中 指定委托实例。
类似:

public delegate void DelegatCloseWindow();
public event DelegatCloseWindow CloseWindow;


窗口C   Load事件:

..................
 if (CloseWindow != null)
            {
                CloseWindow();
            }
.................


在B窗口Show C的时候  加上,类似:

frmC.CloseWindow+= closeBWindow;




closeBWindow 方法就是关闭B窗口的方法。

void   closeBWindow(){

   this.Close();
}
  相关解决方案