我刚刚安装了新的 MonoDevelop Windows beta,但是在尝试创建 C# Windows 应用程序时,唯一的选择是 GTK#。既然 Mono 支持 WinForms,为什么这不是 MonoDevelop 中的一个选项。我希望我的应用程序中没有 GTK# 依赖项。
问问题
30143 次
3 回答
15
虽然从 2.0 版本开始支持单声道 Winforms,但 WinForms 设计器在 MonoDevelop 中尚不可用,这可能是 MonoDevelop 中缺少 WinForms 项目的原因
http://www.mono-project.com/WinForms_Designer
AFAIK,您应该将 mono 对 winforms 的支持视为将现有 winforms 应用程序移植到 linux 的一种方式。如果你想从头开始制作一个跨平台的应用程序,你应该使用 GTK#
于 2009-09-09T22:19:48.093 回答
11
虽然没有 WinForms 项目模板,但您可以在 MD 运行的任何平台上用 MD 编写 WinForms 应用程序。
只需创建一个新的空 C# 项目并添加对 System.Windows.Forms 的引用,然后编写代码并构建并运行。尽管 MD 中没有 Winforms 设计器,但您将完成 Winforms 类型的代码。
于 2009-09-09T22:27:08.507 回答
7
很抱歉让死者复活,但我最近尝试过这样做。虽然 MonoDevelop 不提供 GUI 设计器,但您确实可以手动编写 Winform,正如 mhutch 指出的那样。它是这样的:
- 创建一个新的空 C# 项目。
- 添加对 System.Windows.Forms 的引用
- 创建一个新的空 C# 文件:
文件内容:
using System;
using System.Windows.Forms;
namespace HelloForms
{
public class MainForm: Form
{
Label label1 = new Label();
public MainForm ()
{
this.SuspendLayout();
// Initialize your components here
this.label1.Text = "Hello, World!";
this.Controls.Add(label1);
this.ResumeLayout();
this.Name = "MainForm Name.";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "MainForm Title!";
}
}
public class Program
{
public static void Main(string[] args) {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm ());
}
}
}
通过将组件添加到 MainForm 的构造函数来扩展您的表单。
于 2013-07-08T23:44:24.977 回答