Windows 窗体概述

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

Windows 窗体和智能客户端应用

借助 Windows 窗体,可以开发智能客户端。 智能客户端 是易于部署和更新的图形丰富的应用程序,在连接到 Internet 或与 Internet 断开连接时可以正常工作,并且能够以比基于 Windows 的传统应用程序更安全的方式访问本地计算机上的资源。

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

Windows 窗体是适用于 .NET Framework 的智能客户端技术,它是一组托管库,用于简化常见应用程序任务,例如读取和写入文件系统。 使用 Visual Studio 等开发环境时,可以创建 Windows 窗体智能客户端应用程序,用于显示信息、请求用户输入并通过网络与远程计算机通信。

在 Windows 窗体中,窗体 是向用户显示信息的可视界面。 通常,通过向窗体添加控件并开发对用户操作(如鼠标单击或按键)的响应来生成 Windows 窗体应用程序。 控件 是一个离散用户界面(UI)元素,用于显示数据或接受数据输入。

当用户对窗体或其控件之一执行某些操作时,该操作将生成事件。 应用程序使用代码对这些事件做出反应,并在事件发生时处理这些事件。 有关详细信息,请参阅在 Windows 窗体中创建事件处理程序

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

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

借助 Visual Studio 中的拖放 Windows 窗体设计器,可以轻松创建 Windows 窗体应用程序。 只需用光标选中控件,然后将它们添加到窗体中所需的位置即可。 设计器提供诸如网格线和对齐线的工具,以便简化对齐控件的操作。 无论是在命令行中使用 Visual Studio 还是编译,都可以使用 FlowLayoutPanelTableLayoutPanelSplitContainer 控件在较少的时间内创建高级窗体布局。

最后,如果必须创建自己的自定义 UI 元素,则 System.Drawing 命名空间包含大量类,用于直接在窗体上呈现线条、圆圈和其他形状。

说明

Windows 窗体控件并未被设计用于跨应用程序域进行封送处理。 因此,Microsoft 不支持跨 AppDomain 边界传递 Windows 窗体控件,即使 MarshalByRefObjectControl 基类似乎指示这一操作可行。 只要没有 Windows 窗体控件跨应用程序域边界传递,就支持具有多个应用程序域的 Windows 窗体应用程序。

创建窗体和控件

有关如何使用这些功能的分步信息,请参阅以下帮助主题。

描述 帮助主题
在窗体上使用控件 如何:向 Windows 窗体添加控件
使用 ToolStrip 控件 如何:使用设计器创建含有标准项的基本 ToolStrip
使用 System.Drawing 创建图形 图形编程入门
创建自定义控件 如何:从 UserControl 类继承

显示和操作数据

许多应用程序必须显示来自数据库、XML 文件、XML Web 服务或其他数据源的数据。 Windows 窗体提供了一个灵活的控件,该控件命名为 DataGridView 控件,用于以传统行和列格式显示此类表格数据,以便每个数据片段占用其自己的单元格。 使用 DataGridView时,可以自定义各个单元格的外观、锁定任意行和列,以及显示单元格内的复杂控件以及其他功能。

将 Windows 窗体智能客户端程序通过网络连接到数据源是一个简单任务。 BindingSource 组件表示与数据源的连接,并公开用于将数据绑定到控件、导航到上一条和下一条记录、编辑记录以及将更改保存回原始源的方法。 BindingNavigator 控件通过 BindingSource 组件提供一个简单的界面,供用户在记录之间导航。

可以使用“数据源”窗口轻松创建数据绑定控件。 该窗口显示项目中的数据库、Web 服务和对象等数据源。 可以通过将此窗口中的项拖动到项目中的窗体上来创建数据绑定控件。 还可以通过将对象从“数据源”窗口拖动到现有控件上来将现有控件与数据进行数据绑定。

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

显示和操作数据

有关如何使用这些功能的分步信息,请参阅以下帮助主题。

描述 帮助主题
使用 BindingSource 组件 如何:使用设计器将 Windows 窗体控件与 BindingSource 组件绑定
使用 ADO.NET 数据源 如何:使用 Windows 窗体 BindingSource 组件 对 ADO.NET 数据进行排序和筛选
使用“数据源”窗口 将 Windows 窗体控件绑定到 Visual Studio 中的数据
使用应用程序设置 如何:创建应用程序设置

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

编写应用程序后,必须将应用程序发送给用户,以便他们可以在其自己的客户端计算机上安装并运行该应用程序。 使用 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 窗体中的安全性概述

另请参阅