winform窗体程序运行后怎样隐藏?
运行winform窗体,我们是怎样隐藏的呢?
例子:
1)创建简单winform窗体
2)编写隐藏窗体程序的代码
3)效果演示
1)创建一个简单的winform窗体MainForm,
这样运行后,在任务栏能看到窗体,怎样隐藏,在load事件中加上
//窗体最小化显示
this.WindowState = FormWindowState.Minimized;
//不显示在任务栏中
this.ShowInTaskbar = false;
可以通过设置窗体最小化运行,不显示在任务栏,但是这样还是出现一个问题,
在Alt+tab 的视图窗体可以看到程序,如何解决?
/// <summary>
/// 让程序不显示在alt+Tab视图窗体中
/// </summary>
protected override CreateParams CreateParams
{
get
{
const int WS_EX_APPWINDOW = 0x40000;
const int WS_EX_TOOLWINDOW = 0x80;
CreateParams cp = base.CreateParams;
cp.ExStyle &= (~WS_EX_APPWINDOW); // 不显示在TaskBar
cp.ExStyle |= WS_EX_TOOLWINDOW; // 不显示在Alt+Tab
return cp;
}
}
2)编写隐藏窗体程序的代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsForms { public partial class FormMain : Form { public FormMain() { InitializeComponent(); } private void FormMain_Load(object sender, EventArgs e) { //窗体最小化显示 this.WindowState = FormWindowState.Minimized; //不显示在任务栏中 this.ShowInTaskbar = false; } /// <summary> /// 让程序不显示在alt+Tab视图窗体中 /// </summary> protected override CreateParams CreateParams { get { const int WS_EX_APPWINDOW = 0x40000; const int WS_EX_TOOLWINDOW = 0x80; CreateParams cp = base.CreateParams; cp.ExStyle &= (~WS_EX_APPWINDOW); // 不显示在TaskBar cp.ExStyle |= WS_EX_TOOLWINDOW; // 不显示在Alt+Tab return cp; } } } }
3)演示效果
3.1)只设置最小化、不在任务栏显示
按Alt+Tab可以看到窗体程序
3.2) 设置程序不在ALT+Tab视图窗体中显示
3.3)程序在后台运行(任务管理器)
参考网址来源:
http://bbs.csdn.net/topics/392055218?page=1