求救大侠:我想让C# 程序运行后,仅在右下角的通知区域里显示,不再在任务栏显示了,就跟杀毒软件一样,敢问高手该什么设计?

解决方案 »

  1.   

    对呀,用notifyicon就行了,不过要把notifyicon的图标先设好,要不,就不会显示出来,
      

  2.   

    这个偶试过了不行,它的确是在右下角调整区域显示,可它在任务栏还是有啊,任务栏关闭后右下角也就跟着不见了
    有人说用system tray ,可不知道是什么意思,怎么用啊?
      

  3.   


    当应用程序的窗口关闭时,你在form_closing事件中取消关闭,把窗口的ShowInTaskBar属性设置为false,窗口就不会在任务栏被看到了,同时把Visible属性设置为false,窗口就会被隐藏。实际上,应用程序并没有在内存中被退出,尤其是NotifyIcon图标的实例,应该保证他始终存在。
      

  4.   

    以下仅为说明这个问题的演示性代码,在实用时可以自由发挥static class Program
        {
            static public Form1 form1 = null;
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);            // 工具栏通知图标
                NotifyIcon notifyIcon = new NotifyIcon();
                notifyIcon.Click += new EventHandler(notifyIcon_Click);
                notifyIcon.Text = "欢迎你到思构网";
                notifyIcon.Icon =icon.Properties.Resources.思;
                notifyIcon.BalloonTipIcon = ToolTipIcon.Info;
                notifyIcon.Visible = true;
                
                if (form1 == null)
                {
                    form1 = new Form1();
                }            form1.ShowInTaskbar = true;
                form1.Show();
                Application.Run();
            }        static public void notifyIcon_Click(object sender, EventArgs e)
            {
                if (form1 == null)
                {
                    form1 = new Form1();
                }            form1.ShowInTaskbar = true;
                form1.Show();        } private void Form1_FormClosing(object sender, FormClosingEventArgs e)
            {
                this.Visible = false;
                this.ShowInTaskbar = false;
                e.Cancel = true;
            }