Windows 窗体概述

以下概述讨论智能客户端应用程序的优点、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 中部署应用程序,并且可以向用户提供一个指向 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 窗体

参考

ToolStrip 控件概述(Windows 窗体)

DataGridView 控件概述(Windows 窗体)

BindingSource 组件概述

Windows 窗体演练

概念

.NET Framework 2.0 的 Windows 窗体中的新增功能

应用程序设置概述

ClickOnce 安全和部署

其他资源

Windows 窗体入门

创建新的 Windows 窗体