C# 编程/ .NET Framework/Windows 窗体
外观
要创建 Windows 桌面应用程序,我们使用由 System.Windows.Forms
命名空间表示的库。此命名空间中一些常用的类包括
- Control - 通用类,其他有用的类(如
Form
、TextBox
和下面列出的其他类)都派生自此类 - Form - 这是程序窗口的基本类。所有其他控件都直接放置在
Form
上,或者间接放置在最终驻留在Form
上的另一个容器(如TabPage
或TabControl
)上。在 Visual Studio 中自动创建时,它通常被子类化,称为Form1
。 - Button - 可点击按钮
- TextBox - 单行或多行文本框,可用于显示或输入文本
- RichTextBox - 扩展的
TextBox
,可以显示格式化的文本,例如,文本的一部分颜色或使用指定的字体。RichTextBox 还可以显示广义的 RTF 文档,包括嵌入的图像。 - Label - 简单的控件,允许显示一行未格式化的文本,通常用于各种标题和标题
- ListBox - 控件显示多个项目(文本行),可以选择项目并滚动浏览它
- ComboBox - 与
ListBox
相似,但类似于下拉菜单 - TabControl 和 TabPage - 用于将控件分组在选项卡式界面中(非常类似于 Visual Studio 或 Mozilla Firefox 中的选项卡式界面)。
TabControl
包含一个TabPage
对象的集合。 - DataGrid - 数据网格/表格视图
The Form
类 (System.Windows.Forms.Form) 是该命名空间中一个特别重要的部分,因为窗体是 Windows 应用程序的关键图形构建块。它提供了一个视觉框架,将按钮、菜单、图标和标题栏组合在一起。集成开发环境 (IDE) 如 Visual C# 和 SharpDevelop 可以帮助创建图形应用程序,但了解如何手动执行这一点很重要
using System.Windows.Forms;
public class ExampleForm : Form // inherits from System.Windows.Forms.Form
{
public static void Main()
{
ExampleForm wikibooksForm = new ExampleForm();
wikibooksForm.Text = "I Love Wikibooks"; // specify title of the form
wikibooksForm.Width = 400; // width of the window in pixels
wikibooksForm.Height = 300; // height in pixels
Application.Run(wikibooksForm); // display the form
}
}
上面的示例创建了一个简单的窗口,标题栏中显示文本“我爱 Wikibooks”。类似上面的自定义窗体类继承自 System.Windows.Forms.Form
类。设置任何属性 Text
、Width
和 Height
是可选的。即使您将这些代码注释掉,程序也会编译并成功运行,但它们允许我们对窗体添加额外的控制。
本节内容为空。 您可以通过扩展它来帮助 Wikibooks。 |
事件是在用户或计算机执行操作(例如,单击按钮,鼠标悬停在图像上等)时程序采取的操作。事件处理程序是一个对象,它决定在触发事件时应采取的操作。
using System.Windows.Forms;
using System.Drawing;
public class ExampleForm : Form // inherits from System.Windows.Forms.Form
{
public ExampleForm()
{
this.Text = "I Love Wikibooks"; // specify title of the form
this.Width = 300; // width of the window in pixels
this.Height = 300; // height in pixels
Button HelloButton = new Button();
HelloButton.Location = new Point(20, 20); // the location of button in pixels
HelloButton.Size = new Size(100, 30); // the size of button in pixels
HelloButton.Text = "Click me!"; // the text of button
// When clicking the button, this event fires
HelloButton.Click += new System.EventHandler(WhenHelloButtonClick);
this.Controls.Add(HelloButton);
}
void WhenHelloButtonClick(object sender, System.EventArgs e)
{
MessageBox.Show("You clicked! Press OK to exit this message");
}
public static void Main()
{
Application.Run(new ExampleForm()); // display the form
}
}
本节内容为空。 您可以通过扩展它来帮助 Wikibooks。 |
Windows 窗体命名空间包含许多非常有趣的类。其中最简单且最重要的类之一是 Form
类。窗体是任何 Windows 应用程序的关键构建块。它提供了一个视觉框架,将按钮、菜单、图标和标题栏组合在一起。窗体可以是模态的和非模态的,所有者和被拥有的,父级和子级。虽然可以使用记事本创建窗体,但使用 VS.NET、C# Builder 或 Sharp Develop 之类的窗体编辑器可以使开发速度更快。在本课中,我们不会使用 IDE。相反,将下面的代码保存到文本文件并使用命令行编译器编译。
using System.Windows.Forms;
using System.Drawing;
public class ExampleForm : Form // inherits from System.Windows.Forms.Form
{
public ExampleForm()
{
this.Text = "I Love Wikibooks"; // specify title of the form
this.BackColor = Color.White;
this.Width = 300; // width of the window in pixels
this.Height = 300; // height in pixels
// A Label
Label TextLabel = new Label();
TextLabel.Text = "One Label here!";
TextLabel.Location = new Point(20, 20);
TextLabel.Size = new Size(150, 30);
TextLabel.Font = new Font("Arial", 12); // See! we can modify the font of text
this.Controls.Add(TextLabel); // adding the control to the form
// A input text field
TextBox Box = new TextBox(); // inherits from Control
Box.Location = new Point(20, 60); // then, it have Size and Location properties
Box.Size = new Size(100, 30);
this.Controls.Add(Box); // all class that inherit from Control can be added in a form
}
public static void Main()
{
Application.EnableVisualStyles();
Application.Run(new ExampleForm()); // display the form
}
}