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

时间:2011-08-15 17:54:37

标签: c# .net process menuitem

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

我试过这样的东西:

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

        new TrayIcon();
    }

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

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

那么我怎样才能在没有程序结束的情况下首先弹出气球?

1 个答案:

答案 0 :(得分:6)

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

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

    new TrayIcon();
    Application.Run();
}

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