C# winform实现窗体最小化时显示到(桌面右下角)系统托盘 您所在的位置:网站首页 右下角图标弹窗 C# winform实现窗体最小化时显示到(桌面右下角)系统托盘

C# winform实现窗体最小化时显示到(桌面右下角)系统托盘

2023-09-03 04:26| 来源: 网络整理| 查看: 265

    用C#开发winform桌面程序时,程序启动后,默认是显示在桌面而且在任务栏中有对应的图标。有的时候,需要在程序最小行后,将程序图标仅仅显示在系统托盘,不在任务栏中显示。

    这时,我们需要用到winform控件NotifyIcon,此控件用于运行时期间在  windows 任务栏右侧的通知区域显示图标。实现窗体最小化时显示到(桌面右下角)系统托盘的步骤如下:

    1. 新建窗体,将NotifyIcon控件拖放到窗体上

    2. 设置NotifyIcon控件的Icon属性,Icon的值是显示在系统托盘的图标(和窗体的图标可以不一样)

    3. 设置窗体属性 showintaskbar = false

    经过以上设置,启动程序后,在任务栏中不再显示窗体的图标,右下角系统托盘中也会显示NotifyIcon控件的图标。但是此时最小化窗体后,窗体没有隐藏,注意查看会发现窗体(一般情况下)最小化在桌面的右下角。为了彻底隐藏窗体,我们需要在窗体最小化时隐藏窗体。

    4. 最小化时隐藏窗体,示例代码如下:   

        ///          /// 最小化窗体时,隐藏窗体         ///          ///          ///          private void Form1_SizeChanged(object sender, EventArgs e)         {             // 判断只有最小化时,隐藏窗体             if (this.WindowState == FormWindowState.Minimized)             {                 this.Hide();             }         }

    经过此步,最小化窗体后,窗体隐藏,只在右下角的系统托盘中显示NotifyIcon的图标。通常情况下,我们希望在点击NotifyIcon图标时,再显示窗体。但此时我们点击NotifyIcon图标时,发现没有任何反应,和我们希望看到的不一样。这时,我们可以使用如下设置。

    5. 添加点击NotifyIcon图标事件(显示窗体),实例代码如下:

        private void notifyIcon1_Click(object sender, EventArgs e)         {             // 正常显示窗体             this.Visible = true;             this.WindowState = FormWindowState.Normal;         }

    经过以上设置,程序启动后,可以最小化隐藏(任务栏中也没有程序图标)并在系统托盘中显示程序指定的图标;在点击系统托盘图标后,也可以重新显示程序窗体。

    当然,我们也可以根据自身需要,给NotifyIcon控件添加右键菜单等,用于显示或关闭程序。或者直接设置窗体的WindowState = Minimized,在启动程序后直接隐藏窗体。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有