【问题标题】:Having the application minimize to the system tray when button is clicked?单击按钮时将应用程序最小化到系统托盘?
【发布时间】:2010-11-20 18:54:11
【问题描述】:

如何让我的应用程序最小化到 WindowsXP/Vista 的系统托盘?

我还在寻找一种在鼠标悬停在图标上时让消息自行显示的方法。弹出气球中是否可以有两条线?

【问题讨论】:

    标签: c# tooltip system-tray minimize


    【解决方案1】:

    试试

    最小化

    this.WindowState = FormWindowState.Minimized;
    

    要最小化到托盘,请参阅此

    What's the proper way to minimize to tray a C# WinForms app?

    再见

    【讨论】:

    • 这只会将其最小化到下栏。我想让它变成时钟旁边的一个小图标,你能帮忙吗? :P
    • @Papuccino1:你的意思是你想让它出现在系统托盘中。
    • 是的,我搞混了。 :D 愿意帮忙吗?
    【解决方案2】:

    弹出气球将显示表单标题栏中显示的任何内容(这是表单的 .Text 属性)。我不知道有什么方法可以使它成为多行(如果有的话,它肯定会很复杂并且可能不值得麻烦)。

    This earlier question 给出了基本问题的一些答案。您的工具箱包含一个名为 NotifyIcon 的控件 - 使用它在系统托盘中放置一个图标。

    【讨论】:

      【解决方案3】:

      我假设您的意思是最小化到系统托盘,因为您谈到了图标和消息气球?

      以下代码将设置托盘图标:

      private void SetUpTrayIcon()
      {
          notifyIcon = new System.Windows.Forms.NotifyIcon();
          notifyIcon.BalloonTipText = "Ballon minimize text";
          notifyIcon.BalloonTipTitle = "Ballon minimize title";
          notifyIcon.Text = "Icon hover text";
          notifyIcon.Icon = new  System.Drawing.Icon(
                     System.Reflection.Assembly.GetExecutingAssembly()
                         .GetManifestResourceStream("MyIcon.ico"));
          notifyIcon.Click += new EventHandler(HandlerToMaximiseOnClick);
      }
      

      要在托盘中显示图标(例如,您可能希望在窗口状态更改事件上执行此操作,请执行以下操作:

      if (notifyIcon != null)
      {
          notifyIcon.Visible = true;
          notifyIcon.ShowBalloonTip(2000);
      }
      

      要在鼠标悬停时显示气球,您可能需要在 mousemove 图标中使用与上述相同的代码。

      注意:如果您想在不同点更改消息,则 ShowBalloonTip 已重载。气球显示的消息将尊重换行符,例如 Environment.NewLine 可以添加到它。

      【讨论】:

      • 谢谢兄弟,我试试这个! :)
      猜你喜欢
      • 2011-11-29
      • 1970-01-01
      • 2017-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-31
      • 1970-01-01
      相关资源
      最近更新 更多