多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Mono Winforms 简介 > 原文: [http://zetcode.com/gui/csharpwinforms/introduction/](http://zetcode.com/gui/csharpwinforms/introduction/) Mono Winforms 教程的第一部分介绍了 Mono 平台和 Winforms 库。 ## 关于本教程 这是 Mono C# Winforms 教程。 Mono Winforms 教程适用于初学者。 本教程的目的是向读者介绍 Mono Winforms 中 GUI 编程的基础知识。 本教程是在 Linux 上创建并测试的。 但是,它也可以在其他操作系统上使用。 大多数示例都应运行而无需修改。 可以在此处下载本教程中使用的图像。 ## Mono Mono Project 是 Xamarin 赞助的一项开放开发计划,目的是开发 Microsoft.NET 开发平台的开源 UNIX 版本。 它是.NET 兼容的工具集,其中包括 C# 编译器,公共语言运行库,ADO.NET,ASP.NET 和 Winforms 库。 单声道可分为三组: * 核心组成 * Gnome 开发栈 * Microsoft 兼容性栈 核心组件是 C# 语言和公共语言运行时。 Gnome 开发栈包括 GTK# 库和各种数据库连接库。 最后,Microsoft 兼容性栈包括 ADO.NET,ASP.NET 和 Winforms 库。 Mono 是多平台编程平台。 它可以在 Linux,BSD,Mac OS X,Solaris 和 Windows 操作系统上运行。 这是一种多语言的工作。 目前,仅完全支持 C# 语言。 诸如 Visual Basic 或 IronPython 之类的语言尚未完成。 ## Winforms Windows Forms 是图形用户界面应用编程接口(API),包含在 Microsoft .NET Framework 中。 截至 2008 年 5 月 13 日,Mono 的 System.Windows.Forms 2.0 已完成 API。 简而言之,Winforms 是一个用于创建 GUI 应用的库。 ## 编译示例 我们的教程使用 C# 语言。 要编译本教程中的所有示例,我们使用`gmcs`编译器。 `gmcs`编译器实现了完整的 C# 2.0 规范,包括泛型。 C# 源文件必须以.cs 扩展名结尾。 ```cs $ gmcs --about The Mono C# compiler is (C) 2001-2008, Novell, Inc. The compiler source code is released under the terms of the GNU GPL For more information on Mono, visit the project Web site http://www.mono-project.com The compiler was written by Miguel de Icaza, Ravi Pratap, Martin Baulig, Marek Safar, Raja R Harinath, Atushi Enomoto ``` 我们有一个简单的 C# 源文件。 稍后我们将讨论源代码。 现在,我们专注于编译过程。 `simple.cs` ```cs using System.Windows.Forms; using System.Drawing; public class Simple : Form { public Simple() { Text = "Simple"; Size = new Size(250, 200); CenterToScreen(); } static public void Main() { Application.Run(new Simple()); } } ``` C# 应用使用称为程序集的模块。 默认情况下,Mono C# 编译器仅引用三个程序集:`mscorlib.dll`,`System.dll`和`System.Xml.dll`。 必须使用编译器的命令行选项指定任何其他程序集。 在我们的简单示例中,我们需要`System.Windows.Forms.dll`和`System.Drawing.dll`程序集。 ```cs gmcs -r:System.Windows.Forms.dll -r:System.Drawing.dll simple.cs ``` 在这里,我们编译`simple.cs`源文件。 如果未指定输出文件名,则将获得名称等于源文件名的 exe 文件。 在我们的示例中,为`simple.exe`文件。 ```cs gmcs -r:System.Windows.Forms.dll -r:System.Drawing.dll simple.cs -out:simpleexample.exe ``` 在这里,我们指定输出文件名。 我们编译源文件并获取`simpleexample.exe`文件。 ## 参考 * [mono-project.com](http://www.mono-project.com) * [msdn.com 上的 Winforms 2.0](http://msdn.microsoft.com/en-us/library/bb966997.aspx) * [java2s.com](http://java2s.com) * [wikipedia.org](http://wikipedia.org) 这是 Mono Winforms 库的简介。