运行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; } ////// 让程序不显示在alt+Tab视图窗体中 /// 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