Wpf程序显示在任务栏
后台代码如下:
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes; namespace Demo
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
private NotifyIcon TrayIcon;
WindowState ws;
WindowState wsl;
private System.Windows.Forms.ContextMenu notifyiconMnu;
public MainWindow()
{
InitializeComponent();
Initializenotifyicon();
//保证窗体显示在上方。
wsl = WindowState; }
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();
}
}
public void TopAllmost(object sender, System.EventArgs e)
{
try
{
System.Windows.Forms.MenuItem item = (System.Windows.Forms.MenuItem)sender;
bool check = item.Checked;
item.Checked = !check;
this.Topmost = item.Checked;
}
catch
{
}
} public void ExitSelect(object sender, System.EventArgs e)
{
TrayIcon.Visible = false;
this.Close();
}
private void Initializenotifyicon()
{
Assembly assem = Assembly.GetExecutingAssembly();
Stream stream = assem.GetManifestResourceStream(
"Tray.ico"); TrayIcon = new NotifyIcon();
TrayIcon.Icon = new System.Drawing.Icon("Tray.ico");//程序图标
this.TrayIcon.BalloonTipText = "Hello, 文件监视器"; //设置程序启动时显示的文本
TrayIcon.Text = "MutiMenu " + "Copyright: Frank Zhao";
TrayIcon.Visible = true;
TrayIcon.MouseDoubleClick += OnNotifyIconDoubleClick;
this.TrayIcon.ShowBalloonTip(1000);
// TrayIcon.Click += new System.EventHandler(this.click); //tray menu
System.Windows.Forms.MenuItem[] mnuItms = new System.Windows.Forms.MenuItem[5];
mnuItms[0] = new System.Windows.Forms.MenuItem();
mnuItms[0].Text = "Aways Top";
mnuItms[0].Click += new System.EventHandler(this.TopAllmost);
mnuItms[0].Checked = true; mnuItms[1] = new System.Windows.Forms.MenuItem("-"); mnuItms[2] = new System.Windows.Forms.MenuItem();
mnuItms[2].Text = "Settings...";
// mnuItms[2].Click += new System.EventHandler(this.Settings); mnuItms[3] = new System.Windows.Forms.MenuItem("-"); mnuItms[4] = new System.Windows.Forms.MenuItem();
mnuItms[4].Text = "Exit";
mnuItms[4].Click += new System.EventHandler(this.ExitSelect);
mnuItms[4].DefaultItem = true; notifyiconMnu = new System.Windows.Forms.ContextMenu(mnuItms);
TrayIcon.ContextMenu = notifyiconMnu;
}
}
}
Wpf程序显示在任务栏的更多相关文章
- MFC 不让程序显示在任务栏上
如果是对话框程序直接在对话框的 初始化时,修改样式 ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW); 但是对于多文档或是单文档,则没有对应的对话框样式需 ...
- Delphi中,除了应用程序主窗口会显示在任务栏上,其它窗口默认都不会显示在任务栏.
Delphi中,除了应用程序主窗口会显示在任务栏上,其它窗口默认都不会显示在任务栏. Delphi中,除了应用程序主窗口会显示在任务栏上,其它窗口默认都不会显示在任务栏.没有MS开发环境中的ShowI ...
- MFC 使程序不在任务栏显示
在OnInitDialog()中直接修改窗口风格: // 让本程序不在任务栏显示(创建一个工具条窗口) ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);
- Winform程序以Icon的形式显示在任务栏右下角
Form最小化是指整个Form都缩小到任务栏上,但是是以Form的标题栏形式显示的, 若是想让Form以Icon的形式显示在任务栏右下角,则需要给Form添加一个NotifyIcon控件, 在使窗体最 ...
- WPF程序最小化到任务通知栏
我们通常使用的桌面软件,都可以最小化到任务通知栏,并且可以从任务通知栏再打开当前软件,或者通过软件的快捷方式从任务通知栏呼出. 我们可以通过下面的方式把WPF程序最小化到任务栏.由于WPF并没有实现N ...
- Winform 程序嵌入WPF程序 并发送消息
废话不多说,先看解决方案目录 WindowsFormsDemo是主程序,WpfApp是嵌入的WPF程序,先看WPF程序,程序默认启动的页面是MainWindow.xaml,这里注释掉App.xaml里 ...
- 为 WPF 程序添加 Windows 跳转列表的支持
原文:为 WPF 程序添加 Windows 跳转列表的支持 Windows 跳转列表是自 Windows 7 时代就带来的功能,这一功能是跟随 Windows 7 的任务栏而发布的.当时应用程序要想用 ...
- 在WPF程序中打开网页:使用代理服务器并可进行JS交互
本项目环境:使用VS2010(C#)编写的WPF程序,通过CefSharp在程序的窗体中打开网页.需要能够实现网页后台JS代码中调用的方法,从网页接收数据,并能返回数据给网页.运行程序的电脑不允许上网 ...
- WPF 图片显示中的保留字符问题
在WPF中显示一张图片,本是一件再简单不过的事情.一张图片,一行XAML代码即可. 但是前段时间遇到了一件奇怪的事: 开发机上运行正常的程序,在某些客户机器上却显示不了图片,而且除了这个问题,其它运行 ...
随机推荐
- File类与常用IO流第三章IO流概述
一:以内存为基准,按照数据的流动方向,流向内存为输入(读取数据),流出内存为输出.IO流有四大顶级父类: IO流四大顶级父类 输入流 输出流 字节流 字节输入流 InputStream 字节输出流 ...
- springMVC-2-MVC初步了解
Spring MVC的特点 轻量级,简单易学 高效 , 基于请求响应的MVC框架 与Spring兼容性好,无缝结合 约定优于配置 功能强大:RESTful.数据验证.格式化.本地化.主题等 简洁灵活 ...
- 三分钟入门 InnoDB 存储引擎中的表锁和行锁
各位对 "锁" 这个概念应该都不是很陌生吧,Java 语言中就提供了两种锁:内置的 synchronized 锁和 Lock 接口,使用锁的目的就是管理对共享资源的并发访问,保证数 ...
- debug:am、cmd命令源码分析
debug:am.cmd命令源码分析 目录 debug:am.cmd命令源码分析 am命令的实现 手机里的am am.jar cmd命令的实现 手机里的cmd cmd activity cmd.cpp ...
- CSS样式实现表头和列固定
效果图:第一行和第一列固定 <!DOCTYPE html> <html lang="zh"> <head> <meta cha ...
- DataGridView 显示行号与背景颜色
实现的方式有好几种.之前使用的是下面这种在RowPostPaint事件中实现,效率不高.每次改变控件尺寸时都会执行 private void MsgGridView_RowPostPaint(obje ...
- Docker隔离技术
前言 Docker系列文章: 此篇是Docker系列的第九篇,之前的文章里面或多或少的提到Docker的隔离技术,但是没有很清楚的去聊这个技术,但是经过这么多文章大家一定对Docker使用和概念有了一 ...
- Ubuntu Server连接Wi-Fi
本文将介绍Ubuntu Server如何通过命令行使用wpa_supplicant连接Wi-Fi 环境 Ubuntu Server 20.04(64位) wpasupplicant 配置 1. 安装 ...
- YsoSerial 工具常用Payload分析之Common-Collections2、4(五)
前言 Common-Collections <= 3.2.1 对应与YsoSerial为CC1.3.5.6.7 ,Commno-collections4.0对应与CC2.4. 这篇文章结束官方原 ...
- SpringBoot | 3.2 整合MyBatis
目录 前言 1. 导入MyBatis场景 1.1 初始化导向 1.2 手动导入 2. *MyBatis自动配置原理 3. 全局配置文件 @Mapper @MapperScan 3.1 配置模式 3.2 ...