C#程序启动项的设置方法

2020-01-05 09:57:49丽君

本文为大家分享了C#程序启动项的设置方法,供大家参考,具体内容如下

托盘图标设置

新建一个NotifyIcon,会在托盘处显示一个图标。

NotifyIcon.Icon可以直接设置一个ico图片,也可以延用原有程序的图标。

notifyIcon.Icon = System.Drawing.Icon.ExtractAssociatedIcon(Application.ExecutablePath);


public partial class MainWindow : Window
 {
  private NotifyIcon notifyIcon;

  public MainWindow()
  {
   InitializeComponent();
   SetNotifyIcon();
   this.Hide();
  }

  #region NotifyIcon

  private void SetNotifyIcon()
  {
   this.notifyIcon = new NotifyIcon();
   this.notifyIcon.BalloonTipText = "磁盘清理工具";
   this.notifyIcon.ShowBalloonTip(2000);
   this.notifyIcon.Text = "磁盘清理工具:每20天清理一次";
   this.notifyIcon.Icon = System.Drawing.Icon.ExtractAssociatedIcon(Application.ExecutablePath);
   this.notifyIcon.Visible = true;
   //打开菜单项
   MenuItem open = new MenuItem("打开");
   open.Click += new EventHandler(Show);
   //退出菜单项
   MenuItem exit = new MenuItem("退出");
   exit.Click += new EventHandler(Close);
   //关联托盘控件
   MenuItem[] childen = new MenuItem[] { open, exit };
   notifyIcon.ContextMenu = new ContextMenu(childen);

   this.notifyIcon.MouseDoubleClick += new MouseEventHandler((o, e) =>
   {
    if (e.Button == MouseButtons.Left) this.Show(o, e);
   });
  }

  private void Show(object sender, EventArgs e)
  {
   this.Visibility = Visibility.Visible;
   this.ShowInTaskbar = true;
   this.Activate();
  }

  private void Hide(object sender, EventArgs e)
  {
   this.ShowInTaskbar = false;
   this.Visibility = Visibility.Hidden;
  }

  private void Close(object sender, EventArgs e)
  {
   System.Windows.Application.Current.Shutdown();
  }

  #endregion

  #region 窗口

  private void MinimizeButton_OnClick(object sender, RoutedEventArgs e)
  {
   WindowState = WindowState.Minimized;
  }

  private void CloseButton_OnClick(object sender, RoutedEventArgs e)
  {
   this.Hide();
  }

  private void HeaderGrid_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
  {
   if (e.ButtonState == MouseButtonState.Pressed)
   {
    this.DragMove();
   }
  }

  #endregion
 }