转载于:

流云拂雨的空间_百度空间 http://hi.baidu.com/lyfy_blog/item/e6ed8c02e57814c374cd3cc1

感谢原作者的分享。


winform 隐藏窗体

我们有的项目需要将窗体隐藏,只在通知栏显示一个小图标,在做隐藏窗体时,用this.visible=false 无效,经过查找资料终于解决,记录下

法一、

this.ShowInTaskbar =false;
this.WindowState = FormWindowState.Minimized;

这个方法可以隐藏,但是通过alt+tab组合键可以找到。


法二、

重写SetVisibleCore方法

protected override void SetVisibleCore(bool value)
{
    base.SetVisibleCore(false);
}

这个方法可以隐藏,但隐藏后不能重新打开窗口


法三、

this.BeginInvoke(new MethodInvoker(HideWin));

public void HideWin()
{
    this.Visible = false;
}

其中

this.BeginInvoke(new MethodInvoker(HideWin));

不能放在窗口的构造函数内,否则出现

3c6d55fbb2fb4316e71ae2a820a4462308f7d3df

放在load事件里即可。