Windows 窗体概述

更新:2007 年 11 月

以下概述讨论智能客户端应用程序的优点、Windows 窗体编程的主要功能以及如何使用 Windows 窗体生成满足当今企业和最终用户需求的智能客户端。

Windows 窗体和智能客户端应用程序

使用 Windows 窗体可以开发智能客户端。“智能客户端”是易于部署和更新的图像丰富的应用程序,无论是否连接到 Internet 都可以工作,并且可以用比传统的基于 Windows 的应用程序更安全的方式访问本地计算机上的资源。

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

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

在 Windows 窗体中,“窗体”是向用户显示信息的可视图面。通常情况下,通过向窗体上添加控件并开发对用户操作(如鼠标单击或按下按键)的响应,生成 Windows 窗体应用程序。“控件”是显示数据或接受数据输入的相对独立的用户界面 (UI) 元素。

当用户对窗体或其中的某个控件进行操作时,将生成事件。应用程序使用代码对这些事件进行响应,并在事件发生时处理事件。有关更多信息,请参见 在 Windows 窗体中创建事件处理程序

Windows 窗体包含可添加到窗体上的各式控件:用于显示文本框、按钮、下拉框、单选按钮甚至网页的控件。有关可在窗体上使用的所有控件的列表,请参见 在 Windows 窗体上使用的控件。如果现有控件不满足需要,Windows 窗体还支持使用 UserControl 类创建自己的自定义控件。

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

使用 Visual Studio 的具有拖放功能的 Windows 窗体设计器,可以轻松创建 Windows 窗体应用程序。只需使用光标选择控件并将控件添加到窗体上所需的位置即可。设计器提供类似网格线和对齐线的工具,可简化对齐控件的操作。无论使用 Visual Studio 还是在命令行上编译,都可以使用 FlowLayoutPanelTableLayoutPanelSplitContainer 控件以较短的时间创建高级窗体布局。

最后,如果您必须创建自己的自定义用户界面元素,则可使用 System.Drawing 命名空间,其中包含了大量的类,可供您选择用于直接在窗体上呈现线条、圆和其他形状。

说明:

Windows 窗体控件不能跨应用程序域进行封送处理。因此,Microsoft 不支持跨 AppDomain 边界传递 Windows 窗体控件,即使在 MarshalByRefObjectControl 基类型指示其可行时也不例外。只要不跨应用程序域边界传递 Windows 窗体控件,就支持具有多个应用程序域的 Windows 窗体应用程序。

帮助创建窗体和控件

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

说明

帮助主题

使用 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 中部署应用程序,并为用户提供指向网站上的应用程序的 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 2.0 的 Windows 窗体的改进

应用程序设置概述

ClickOnce 部署概述

参考

ToolStrip 控件概述(Windows 窗体)

DataGridView 控件概述(Windows 窗体)

BindingSource 组件概述

其他资源

Windows 窗体入门

创建新的 Windows 窗体