WPF窗体最小化到任务栏

WPF程序也可以很轻松的实现类似QQ那样最小化到任务栏的功能。

        WindowState ws;
        WindowState wsl;
        NotifyIcon notifyIcon;


        #region Constructions
        public MainWindow()
        {
           
            InitializeComponent();//显示托盘。
            icon();
            //保证窗体显示在上方。
            wsl = WindowState;
        }
        #endregion

        private void icon()
        {
            this.notifyIcon = new NotifyIcon();
            this.notifyIcon.BalloonTipText = "Hello, 文件监视器"; //设置程序启动时显示的文本
            this.notifyIcon.Text = "文件监视器";//最小化到托盘时,鼠标点击时显示的文本
            this.notifyIcon.Icon = new System.Drawing.Icon("Downloads.ico");//程序图标
            this.notifyIcon.Visible = true;
            notifyIcon.MouseDoubleClick += OnNotifyIconDoubleClick;
            this.notifyIcon.ShowBalloonTip(1000);
        }

        private void OnNotifyIconDoubleClick(object sender, EventArgs e)
        {
            this.Show();
            WindowState = wsl;
        }

        private void Window_StateChanged(object sender, EventArgs e)
        {
            ws = WindowState;
            if (ws == WindowState.Minimized)
            {
                this.Hide();
            }
        }

 

posted @ 2012-12-06 20:14  Gyoung  阅读(13756)  评论(1编辑  收藏  举报