运行winform窗体,我们是怎样隐藏的呢?
例子:
1)创建简单winform窗体
2)编写隐藏窗体程序的代码
3)效果演示
1)创建一个简单的winform窗体MainForm,
这样运行后,在任务栏能看到窗体,怎样隐藏,在load事件中加上
//窗体最小化显示
this.WindowState = FormWindowState.Minimized;
//不显示在任务栏中
this.ShowInTaskbar = false;
可以通过设置窗体最小化运行,不显示在任务栏,但是这样还是出现一个问题,
在Alt+tab 的视图窗体可以看到程序,如何解决?
///
/// 让程序不显示在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;
}
}
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