(WPF)通知栏图标和右键菜单
来源:互联网 发布:wind万得资讯的数据库 编辑:程序博客网 时间:2024/06/06 13:59
WPF没有自带的通知栏图标组件,需要引用Windows类库,具体代码如下:
public MainWindow() { InitializeComponent(); icon(); wsl = WindowState.Minimized; }#region 通知栏 WindowState wsl; System.Windows.Forms.NotifyIcon notifyIcon = null; private void icon() { this.notifyIcon = new System.Windows.Forms.NotifyIcon(); this.notifyIcon.BalloonTipText = "ECMS 服务正在运行..."; //设置程序启动时显示的文本 this.notifyIcon.Text = "ECMS 服务";//最小化到托盘时,鼠标点击时显示的文本 this.notifyIcon.Icon = new System.Drawing.Icon("./logo_48X48.ico");//程序图标 this.notifyIcon.Visible = true; //右键菜单--打开菜单项 System.Windows.Forms.MenuItem open = new System.Windows.Forms.MenuItem("Open"); open.Click += new EventHandler(ShowWindow); //右键菜单--退出菜单项 System.Windows.Forms.MenuItem exit = new System.Windows.Forms.MenuItem("Exit"); exit.Click += new EventHandler(CloseWindow); //关联托盘控件 System.Windows.Forms.MenuItem[] childen = new System.Windows.Forms.MenuItem[] { open, exit }; notifyIcon.ContextMenu = new System.Windows.Forms.ContextMenu(childen); notifyIcon.MouseDoubleClick += OnNotifyIconDoubleClick; this.notifyIcon.ShowBalloonTip(1000); } private void OnNotifyIconDoubleClick(object sender, EventArgs e) { /* * 这一段代码需要解释一下: * 窗口正常时双击图标执行这段代码是这样一个过程: * this.Show()-->WindowState由Normail变为Minimized-->Window_StateChanged事件执行(this.Hide())-->WindowState由Minimized变为Normal-->窗口隐藏 * 窗口隐藏时双击图标执行这段代码是这样一个过程: * this.Show()-->WindowState由Normail变为Minimized-->WindowState由Minimized变为Normal-->窗口显示 */ this.Show(); this.WindowState = WindowState.Minimized; this.WindowState = WindowState.Normal; } private void Window_StateChanged(object sender, EventArgs e) { //窗口最小化时隐藏任务栏图标 if (WindowState == WindowState.Minimized) { this.Hide(); } } private void ShowWindow(object sender, EventArgs e) { this.Visibility = System.Windows.Visibility.Visible; this.ShowInTaskbar = true; this.Activate(); } private void HideWindow(object sender, EventArgs e) { this.ShowInTaskbar = false; this.Visibility = System.Windows.Visibility.Hidden; } private void CloseWindow(object sender, EventArgs e) { System.Windows.Application.Current.Shutdown(); } #endregion
1 0
- (WPF)通知栏图标和右键菜单
- WPF 创建通知栏图标和菜单选项
- WPF Treeview 学习 图标,checkbox,右键菜单
- 任务栏图标和右键菜单
- QT 创建托盘图标和右键菜单
- QT 创建托盘图标和右键菜单
- WPF中的右键菜单.
- WPF 右键菜单动画
- WPF 右键菜单
- WPF 创建右键菜单
- WPF中的右键菜单.
- WPF添加右键菜单
- MyEclipse Web 项目的图标和右键New菜单
- WPF下实现右键菜单
- WPF 自定义右键菜单样式
- WPF中的右键菜单ContextMenu
- Wpf ScrollViewer 右键菜单禁用
- MFC 系统托盘图标实现,包括双击图标和右键图标菜单
- inline函数和一般的函数有什么不同
- javascript正则表达式分组-捕获性分组/非捕获性分组/正则前瞻
- Remove Duplicates from Sorted List
- leetCode 20 Valid Parentheses
- Android多线程--AsyncTask
- (WPF)通知栏图标和右键菜单
- c++作业3
- 利用 fusioncharts-suite-xt 完成数据的统计图显示
- 我的第一篇CSDN博客——Redis集群安装与配置1
- NYOJ-24 素数距离问题
- HDU-1161-Eddy's mistakes
- nginx学习记录
- 我转我转我转:实现一个函数翻转字符串
- 浅析Java虚拟机结构与机制