为什么Mono中的Winforms没有打开任何窗口?

时间:2013-08-17 23:38:40

标签: c# .net winforms macos mono

我正在尝试使用Winforms在Mac上使用Mono C#中的简单应用程序,到目前为止我已经测试了这段代码

using System;
using System.Drawing;
using System.Windows.Forms;

public class HelloWorld : Form
{
    static public void Main ()
    {
        Application.Run (new HelloWorld ());
    }

    public HelloWorld ()
    {
        Button b = new Button ();
        b.Text = "Click Me!";
        b.Click += new EventHandler (Button_Click);
        Controls.Add (b);
    }

    private void Button_Click (object sender, EventArgs e)
    {
        MessageBox.Show ("Button Clicked!");
    }
}

但是当我测试时没有窗口打开,有什么帮助吗?我认为我的问题是针对Mono的。

2 个答案:

答案 0 :(得分:6)

我有同样的问题,运行os x mavericks + mono 3.2.3。

我从这里构建演示:http://mono-project.com/Mono_Basics,前两个工作(控制台+ gtk)但第三个(dotnet)什么都没有,当我从终端运行它,不会抛出任何错误,我只做cpu加载,但没有显示窗口...

最后,我找到了解决方案,在第一个dotnet运行,大约需要1分钟,直到窗口显示,在下一次运行时它是即时的。当我测试的时候,我在5-10秒后杀死了这个过程,所以这就是为什么我第一次尝试没有为我工作...

答案 1 :(得分:0)

我只是遇到了同样的问题。不是使用Mono,而是使用WinForms。对我而言,解决方案是:

  1. 从WinForms项目中删除 bin obj 目录。
  2. 删除 .vs 目录(我使用的是Visual Studio)。

以上这些帮助了我。当然,我必须再次输入任何设置,但至少我可以再次使用该应用程序。