当前位置:首页 > Windows程序 > 正文

在C#实现托盘效果

2021-03-25 Windows程序

桌面程序的开发中,经常考虑能在状态栏实现托盘快捷操作,,托盘程序的实现在API时代,还是相对复杂的,首先在MSDN中可以查看其函数细节,

然后在根据其要求的参数进行复杂的设置。
      在.NET时代,MS封装了这些麻烦的细节,开发者可以很容易的实现托盘程序的控制和操作。现以简单的实例为例来说明:
      1.添加notifyIcon控件和contextMenuStrip控件
      2.设置其属性icon和contextMenuStrp属性,Icon属性只需选择一个托盘图标,contextMenuStrip用于关联第一步的快捷菜单。
      3.添加窗体的SizeChanged事件程序,用于实现窗体最小化时调用托盘:
            if (this.WindowState == FormWindowState.Minimized)
            {
                //this.Hide();        //可以要,也可以不要,取决于是否隐藏主窗体

      //隐藏任务栏区图标

       this.ShowInTaskbar = false;
                this.notifyIcon.Visible = true;
            }
       4.添加notifyIcon的Click事件,打开快捷菜单项,或者其他更复杂的操作选项,根据需要而定。     

private void Form1_SizeChanged(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { //this.Hide(); //可以要,也可以不要,取决于是否隐藏主窗体 //隐藏任务栏区图标 this.ShowInTaskbar = false; //图标显示在托盘区 notifyIcon.Visible = true; } } private void notifyIcon_DoubleClick(object sender, EventArgs e) { //判断是否已经最小化于托盘 if (WindowState == FormWindowState.Minimized) { //还原窗体显示 WindowState = FormWindowState.Normal; //激活窗体并给予它焦点 this.Activate(); //任务栏区显示图标 this.ShowInTaskbar = true; //托盘区图标隐藏 notifyIcon.Visible = false; } }

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/67387.html