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

posted @ 2017-03-27 12:14  小小邪  阅读(7174)  评论(0编辑  收藏  举报