zoukankan      html  css  js  c++  java
  • 桌面下雪效果(二)

    增加系统托盘图标,并取消任务栏图标

    1.取消任务栏图标

    启动窗口设置ShowInTaskbar="False"

    <Window x:Class="SnowEffect.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Background="Transparent"
            WindowState="Maximized"
            WindowStyle="None"
            ShowInTaskbar="False"
            IsHitTestVisible="False"
            AllowsTransparency="True"
            DataContext="{Binding Main, Source={StaticResource Locator}}">
    
        <Grid x:Name="LayoutRoot" Background="Transparent"/>
    
    </Window>

    2.增加系统托盘图标
    新增SystemNotifyIcon类

        /// <summary>
        /// 系统托盘图标
        /// </summary>
        internal class SystemNotifyIcon
        {
            /// <summary>
            /// 添加系统托盘
            /// </summary>
            internal static void AddSystemNotifyIcon()
            {
                new NotifyIcon
                {
                    Text = Properties.Resources.SnowFlower,
                    Visible = true,
                    Icon = System.Drawing.Icon.ExtractAssociatedIcon(System.Windows.Forms.Application.ExecutablePath),
                    ContextMenu = new ContextMenu(GetSystemNotifyIconContextMenuItems())
                };
            }
    
            //获取系统托盘的右键关联菜单
            private static MenuItem[] GetSystemNotifyIconContextMenuItems()
            {
                var shutdownItem = new MenuItem
                {
                    Text = Properties.Resources.Shutdown
                };
                shutdownItem.Click += (sender, args) => { System.Windows.Application.Current.Shutdown(); };
    
                var result = new[]
                {
                  shutdownItem
                };
    
                return result;
            }
        }

    在App.xaml.cs中调用方法

    public partial class App
        {
            static App()
            {
                DispatcherHelper.Initialize();
                SystemNotifyIcon.AddSystemNotifyIcon();
            }
        }


    源码

  • 相关阅读:
    几个关于文本文件、字符串、编码的函数
    海量数据解决思路之Hash算法
    从头到尾彻底解析哈希表算法
    几个 GetHashCode 函数
    DELPHI指针的使用
    关于Delphi中的字符串的详细分析
    TStringList常用操作
    Pascal 排序算法
    Delphi THashedStringList用法
    Delphi代码创建形式规范 1.0
  • 原文地址:https://www.cnblogs.com/XzcBlog/p/4878090.html
Copyright © 2011-2022 走看看