LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

【C#】Winform窗体程序运行后怎样隐藏?

admin
2021年3月8日 11:0 本文热度 3705

运行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


该文章在 2021/3/8 11:00:02 编辑过

全部评论3

admin
2021年3月8日 11:1
可以做到。但有个新问题。桌面左下角会出现这个程序最小化的窗口。
public MainForm()
        {
            InitializeComponent();
            this.Shown += new EventHandler(MainForm_Shown);
        }

void MainForm_Shown(object sender, EventArgs e)
        {
            this.Visible = false;
            this.Shown -= MainForm_Shown;
        }

网上找到这个。解决了引发的问题。不过对此处的“+=”“-=”不是很理解。求解。

该评论在 2021/3/8 11:01:31 编辑过
admin
2021年3月8日 11:1
+= 绑定一个事件函数
-= 取消一个事件函数的绑定

该评论在 2021/3/8 11:01:52 编辑过
admin
2021年3月8日 11:2
在shown中添加visible可以,但是窗口会闪现消失。
最后换成,在load中添加了visible=false就完美解决了。

该评论在 2021/3/8 11:02:12 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved