zoukankan      html  css  js  c++  java
  • WPF 程序启动显示为通知区域的图标方法

    首先需要引用  System.Windows;  System.Drawing;

        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
                InitialTray();
            }
             private System.Windows.Forms.NotifyIcon notifyIcon = null;
            private void InitialTray()
            {
    
                //设置托盘的各个属性
                notifyIcon = new System.Windows.Forms.NotifyIcon();
                notifyIcon.BalloonTipText = "程序开始运行";
                notifyIcon.Text = "托盘图标";
                notifyIcon.Icon = new System.Drawing.Icon("NotifyIcon.ico");
                notifyIcon.Visible = true;
                notifyIcon.ShowBalloonTip(2000);
                notifyIcon.MouseClick += new System.Windows.Forms.MouseEventHandler(notifyIcon_MouseClick);
    
                //设置菜单项
                System.Windows.Forms.MenuItem menu1 = new System.Windows.Forms.MenuItem("菜单项1");
                System.Windows.Forms.MenuItem menu2 = new System.Windows.Forms.MenuItem("菜单项2");
                System.Windows.Forms.MenuItem menu = new System.Windows.Forms.MenuItem("菜单", new System.Windows.Forms.MenuItem[] { menu1 , menu2 });
    
                //退出菜单项
                System.Windows.Forms.MenuItem exit = new System.Windows.Forms.MenuItem("exit");
                exit.Click += new EventHandler(exit_Click);
    
                //关联托盘控件
                System.Windows.Forms.MenuItem[] childen = new System.Windows.Forms.MenuItem[] { menu , exit };
                notifyIcon.ContextMenu = new System.Windows.Forms.ContextMenu(childen);
    
                //窗体状态改变时候触发
                this.StateChanged += new EventHandler(SysTray_StateChanged);
            }
           /// <summary>
            /// 窗体状态改变时候触发
           /// </summary>
           /// <param name="sender"></param>
           /// <param name="e"></param>
            private void SysTray_StateChanged(object sender, EventArgs e)
            {
                if (this.WindowState == WindowState.Minimized)
                {
    
                    //this.Visibility = Visibility.Hidden;
                }
            }
    
            /// <summary>
            /// 退出选项
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
    
            private void exit_Click(object sender, EventArgs e)
            {
                if (System.Windows.MessageBox.Show("确定要关闭吗?", "退出", MessageBoxButton.YesNo,MessageBoxImage.Question,MessageBoxResult.No) == MessageBoxResult.Yes)
                {
                    notifyIcon.Dispose();
                    System.Windows.Application.Current.Shutdown();
                }
            }
    
          /// <summary>
            /// 鼠标单击
          /// </summary>
          /// <param name="sender"></param>
          /// <param name="e"></param>
    
            private void notifyIcon_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e)
            {
                if (e.Button == System.Windows.Forms.MouseButtons.Left)
                {
                    if (this.Visibility == Visibility.Visible)
                    {
                        //this.Visibility = Visibility.Hidden;
                    }
                    else
                    {
                        this.Visibility = Visibility.Visible;
                        this.WindowState = WindowState.Normal;
                        //this.Activate();
                    }
                }
            }
        // 改变窗体关闭按钮事件
            private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
            {
                e.Cancel = true;//取消窗体关闭
                this.Visibility = Visibility.Hidden;//窗体隐藏
            }
        }
  • 相关阅读:
    vue学习指南:第六篇(详细)
    Android Stuido代码混淆
    Android 2018最新的三方库
    使用Git上传代码到Github仓库
    android展示注册进度效果源码
    JPTabBar 详细介绍
    利用HTML5和echarts开发大数据展示及大屏炫酷统计系统
    Android Studio Git 分支使用实践
    RecyclerView的Item的单击事件
    Android实用代码
  • 原文地址:https://www.cnblogs.com/yougmi/p/4587895.html
Copyright © 2011-2022 走看看