Windows 窗体应用程序基础知识

更新:2007 年 11 月

Visual Basic 的一个重要方面是能够创建在用户计算机本地运行的 Windows 窗体应用程序。可以使用 Visual Studio 2008 来创建使用 Windows 窗体的应用程序和用户界面。Windows 窗体应用程序是基于 System.Windows.Forms 命名空间中的类创建的。

设计 Windows 窗体应用程序

可以使用 Visual Studio 创建 Windows 窗体和 Windows 服务应用程序。有关更多信息,请参见下列主题:

生成丰富的交互式用户界面

Windows 窗体是 .NET Framework(一组托管库,能够实现常见的应用程序任务,如读写文件系统)的智能客户端组件。使用类似 Visual Studio 的开发环境,您可以创建 Windows 窗体应用程序来显示信息、请求来自用户的输入以及通过网络与远程计算机通信。

在 Windows 窗体中,窗体是在其中向用户显示信息的可视图面。通常,通过在窗体中放置控件并开发对用户操作(如鼠标单击或按键)的响应来构建 Windows 窗体应用程序。“控件”是一个独立的用户界面 (UI) 元素,用于显示数据或接受数据输入。

事件

用户对窗体或窗体的某个控件执行某项操作时,会生成一个事件。应用程序通过使用代码来响应这些事件,并在这些事件发生时处理它们。有关更多信息,请参见 在 Windows 窗体中创建事件处理程序

控件

Windows 窗体包含各种控件,您可以将它们放在窗体中:即显示文本框、按钮、下拉框、单选按钮甚至网页的控件。有关您可以在窗体中使用的所有控件的列表,请参见 在 Windows 窗体上使用的控件。Windows 窗体还支持使用 UserControl 类创建您自己的自定义控件,供您在某个现有控件不符合您的需要的情况下使用。

Windows 窗体具有丰富多样的 UI 控件,这些控件可模拟高端应用程序(如 Microsoft Office)中的功能。通过使用 ToolStripMenuStrip 控件,您可以创建包含文本和图像的工具栏和菜单、显示子菜单以及承载其他控件(如文本框和组合框)。

使用 Visual Studio 拖放式窗体设计器,您可以轻松地创建 Windows 窗体应用程序:只需用光标选中控件,然后将它们放置在窗体上的所需位置即可。此设计器提供了如网格线和“对齐线”(省去了使用对齐控件的麻烦)之类的工具。无论是使用 Visual Studio 还是在命令行中进行编译,您都可以使用 FlowLayoutPanelTableLayoutPanelSplitContainer 控件来事半功倍地创建高级窗体布局。

自定义 UI 元素

最后,System.Drawing 命名空间包含您在窗体上直接呈现线段、圆和其他形状所需的所有类,以满足您在必须创建自定义 UI 元素的情况下的需要。

有关使用这些功能的逐步骤的信息,请参见下列帮助主题。

若要执行以下操作

请参见

使用 Visual Studio 创建一个新的 Windows 窗体应用程序

演练:创建简单的 Windows 窗体

使用窗体中的控件

如何:向 Windows 窗体添加控件

处理窗体及其控件中的事件

如何:使用设计器创建事件处理程序

使用 ToolStrip 控件

如何:使用设计器创建含有标准项的基本 Windows 窗体 ToolStrip

使用 System.Drawing 创建图形

图形编程入门

创建自定义控件

如何:从 UserControl 类继承

显示和操作数据

许多应用程序必须显示来自数据库、XML 文件、XML Web services 或其他数据源中的数据。Windows 窗体提供了一个称为 DataGridView 的灵活控件,用于使用传统的行和列格式呈现此类表格数据,使得每条数据占据自己的单元格。通过使用 DataGridView,可以实现众多功能,包括自定义单个单元格的外观、将任意行和列锁定在适当的位置,以及在单元格内显示复杂控件。

通过网络连接数据源是只需使用 Windows 窗体智能客户端便可以完成的简单任务。Visual Studio 2005 和 .NET Framework 2.0 中随 Windows 窗体提供的新组件 BindingSource 可以表示到数据源的连接,并公开了将数据绑定到控件、导航至上一条和下一条记录、编辑记录以及将更改保存回原始源的方法。BindingNavigator 控件在 BindingSource 组件之上提供了一个简单的界面,供用户在记录之间定位时使用。

数据绑定控件

您可以使用“数据源”窗口轻松地创建数据绑定控件。该窗口显示一些数据源,如您项目中的数据库、Web 服务和对象。您可以通过将项从该窗口拖动到您项目中的窗体上来创建数据绑定控件。还可以通过将对象从“数据源”窗口拖动到现有控件上来完成从现有控件到数据的数据绑定操作。

设置

您可以在 Windows 窗体中管理的另一种数据绑定类型是设置。大多数智能客户端应用程序必须保留一些有关它们的运行时状态的信息(如窗体的上次已知大小),并保留用户首选项数据(如所保存文件的默认位置)。应用程序设置功能提供了一种简单的方法在客户端计算机上存储两种类型的设置,来解决上述需要。一旦使用 Visual Studio 或代码编辑器定义了这些设置,这些设置便保存为 XML 并在运行时自动读回内存中。

有关使用这些功能的逐步骤的信息,请参见下列帮助主题。

若要执行以下操作

请参见

使用 BindingSource 组件

如何:使用设计器将 Windows 窗体控件与 BindingSource 组件进行绑定

使用 ADO.NET 数据源

如何:使用 Windows 窗体 BindingSource 组件对 ADO.NET 数据进行排序和筛选

使用“数据源”窗口

演练:在 Windows 应用程序中的窗体上显示数据

使用应用程序设置

如何:使用设计器创建应用程序设置

将应用程序部署到客户端计算机

一旦编写完应用程序,必须将它发送给您的用户,以便他们可以在自己的客户端计算机上安装并运行该应用程序。使用 ClickOnce 技术,您只需单击几次,即可通过 Visual Studio 部署您的应用程序,并为用户提供指向您的应用程序 Web 地址的URL。ClickOnce 可管理应用程序中的所有元素和依赖项,并确保在客户端计算机上正确安装了应用程序。

ClickOnce 应用程序可以配置为仅在用户连接到网络时运行,或在联机和脱机时都可以运行。指定应用程序应支持脱机操作时,ClickOnce 会在用户的“开始”菜单中添加一个指向您的应用程序的链接,以便用户可以在不使用 URL 的情况下打开该应用程序。

更新应用程序时,您需要将新的部署清单和应用程序的新副本发布到 Web 服务器。ClickOnce 将检测到存在可用更新并升级用户的安装;无需自定义编程来更新旧的程序集。

有关 ClickOnce 的完整介绍,请参见 ClickOnce 部署概述。有关使用这些功能的逐步骤的信息,请参见下列帮助主题:

若要执行以下操作

请参见

使用 ClickOnce 部署应用程序

如何:发布 ClickOnce 应用程序

演练:手动部署 ClickOnce 应用程序

更新 ClickOnce 部署

如何:管理 ClickOnce 应用程序的更新

检查应用程序更新

如何:检查是否有 ClickOnce 应用程序更新

使用 ClickOnce 管理安全性

如何:启用 ClickOnce 安全设置

其他控件和功能

Windows 窗体中具有许多其他功能,有助于快速简便地实现一些常见任务,如对创建对话框、打印、添加帮助和文档以及将应用程序本地化为多种语言的支持。此外,Windows 窗体依赖于 .NET Framework 的可靠的安全系统,使您能够向客户发布更安全的应用程序。

有关使用这些功能的逐步骤的信息,请参见下列帮助主题:

若要执行以下操作

请参见

打印窗体内容

如何:在 Windows 窗体中打印图形

如何:打印 Windows 窗体中的多页文本文件

全球化 Windows 窗体应用程序

演练:本地化 Windows 窗体

了解有关 Windows 窗体安全性的更多信息

Windows 窗体中的安全性概述

请参见

概念

基于 Windows 的应用程序概述

.NET Framework 窗体中使用的类

参考

Windows 窗体概述

My.Forms 对象

My.Application 对象