11

我可以知道如何在我用 C# 编码的应用程序中制作弹出气泡消息吗?

例如,当我启动我的应用程序时,它会弹出“欢迎使用 UbuntuSE 应用程序”。

是的,弹出窗口不是消息框弹出窗口,而是托盘菜单中的弹出窗口。

与此类似的东西:

在此处输入图像描述

PS,如果我没记错的话,这叫做气球工具提示。但是我如何在我的代码中使用它。

4

7 回答 7

22

如果您使用的是 Winforms,则您有NotifyIcon类。这个对象有一个ShowBalloonTip方法,它将显示一个气球提示:

var icon = new NotifyIcon();
icon.ShowBalloonTip(1000, "Balloon title", "Balloon text", ToolTipIcon.None)
于 2011-06-08T08:22:55.077 回答
4

你一定在寻找Notify Icon控制

在此处输入图像描述
另一个 CodeProject 示例

这是 MSDN 中的完整示例

于 2011-06-08T08:21:47.620 回答
4

您可以使用NotifyIcon属于 .NET 2.0 System.Windows.Forms 的控件。

检查:使用 NotifyIcon 控件

从msdn,

NotifyIcon :指定在通知区域中创建图标的组件。这个类不能被继承。

于 2011-06-08T08:22:30.740 回答
3

您必须设置属性“图标”,否则它不会弹出

    NotifyIcon ballon = new NotifyIcon();
    ballon.Icon = SystemIcons.Application;//or any icon you like
    ballon.ShowBalloonTip(1000, "Balloon title", "Balloon text", ToolTipIcon.None)
于 2015-03-29T19:50:45.340 回答
3

NotifyIcon.BalloonTipIcon

于 2011-06-08T08:22:41.940 回答
1
using System;
using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.Reflection;
using System.Windows.Forms;

namespace ShowToolTip
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btBallonToolTip_Click(object sender, EventArgs e)
        {
            ShowBalloonTip();
            this.Hide();
        }

        private void ShowBalloonTip()
        {
            Container bpcomponents = new Container();
            ContextMenu contextMenu1 = new ContextMenu();

            MenuItem runMenu = new MenuItem();
            runMenu.Index = 1;
            runMenu.Text = "Run...";
            runMenu.Click += new EventHandler(runMenu_Click);

            MenuItem breakMenu = new MenuItem();
            breakMenu.Index = 2;
            breakMenu.Text = "-------------";

            MenuItem exitMenu = new MenuItem();
            exitMenu.Index = 3;
            exitMenu.Text = "E&xit";

            exitMenu.Click += new EventHandler(exitMenu_Click);

            // Initialize contextMenu1
            contextMenu1.MenuItems.AddRange(
                        new System.Windows.Forms.MenuItem[] { runMenu, breakMenu, exitMenu });

            // Initialize menuItem1

            this.ClientSize = new System.Drawing.Size(0, 0);
            this.Text = "Ballon Tootip Example";

            // Create the NotifyIcon.
            NotifyIcon notifyIcon = new NotifyIcon(bpcomponents);

            // The Icon property sets the icon that will appear
            // in the systray for this application.
            string iconPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\setup-icon.ico";
            notifyIcon.Icon = new Icon(iconPath);

            // The ContextMenu property sets the menu that will
            // appear when the systray icon is right clicked.
            notifyIcon.ContextMenu = contextMenu1;

            notifyIcon.Visible = true;

            // The Text property sets the text that will be displayed,
            // in a tooltip, when the mouse hovers over the systray icon.
            notifyIcon.Text = "Morgan Tech Space BallonTip Running...";
            notifyIcon.BalloonTipText = "Morgan Tech Space BallonTip Running...";
            notifyIcon.BalloonTipTitle = "Morgan Tech Space";
            notifyIcon.ShowBalloonTip(1000);
        }

        void exitMenu_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        void runMenu_Click(object sender, EventArgs e)
        {
            MessageBox.Show("BallonTip is Running....");
        }
    }
}
于 2013-09-11T08:44:35.783 回答
1

谢谢(你的)信息!做了这样的事情并奏效了!

    private void NotifyBaloon(string text, string tooltip, string title, bool show)
    {
        notifyIconMain.Text = text;
        notifyIconMain.BalloonTipText = tooltip;
        notifyIconMain.BalloonTipTitle = title;
        if (show)
            notifyIconMain.ShowBalloonTip(1000);
    }
于 2014-02-07T12:15:05.233 回答