C#运行Windows窗体应用程序不是以表单开头

Mar*_*lor 2 .net c# process menuitem

我希望我的程序以一个气球图标开始,一旦点击它就会出现一个窗口,但是当我尝试运行一个显示该消息的类时,我无法运行它,因为它不是一个表单.基本上我可以弹出一个气球警告,但一旦点击它就不会打开表格,因为它似乎已经终止程序(Program.cs中的Main()已经完成)

我试过这样的东西:

static void Main() {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);

        new TrayIcon();
    }
Run Code Online (Sandbox Code Playgroud)

但它只显示警报但不起作用.

如果我使我的TrayIcon类成为部分Form并使用Application.Run()它可以工作,但也会弹出一个空的,丑陋的表单.

那么如何在没有程序结束的情况下首先弹出气球呢?

dri*_*iis 6

只需使用不带Form参数的Application.Run重载:

static void Main() 
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    new TrayIcon();
    Application.Run();
}
Run Code Online (Sandbox Code Playgroud)

这将在当前线程上启动Windows消息循环,该消息将处理UI消息,包括使notifyicon变得可见和响应所需的消息.