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 这样的高端应用程序中的功能。使用 ToolStrip 和 MenuStrip 控件时,可以创建包含文本和图像、显示子菜单及承载其他控件(如文本框和组合框)的工具栏和菜单。
使用 Visual Studio 的具有拖放功能的 Windows 窗体设计器,可以轻松创建 Windows 窗体应用程序。只需使用光标选择控件并将控件添加到窗体上所需的位置即可。设计器提供类似网格线和对齐线的工具,可简化对齐控件的操作。无论使用 Visual Studio 还是在命令行上编译,都可以使用 FlowLayoutPanel、TableLayoutPanel 和 SplitContainer 控件以较短的时间创建高级窗体布局。
最后,如果您必须创建自己的自定义用户界面元素,则可使用 System.Drawing 命名空间,其中包含了大量的类,可供您选择用于直接在窗体上呈现线条、圆和其他形状。
说明: |
---|
Windows 窗体控件不能跨应用程序域进行封送处理。因此,Microsoft 不支持跨 AppDomain 边界传递 Windows 窗体控件,即使在 MarshalByRefObject 的 Control 基类型指示其可行时也不例外。只要不跨应用程序域边界传递 Windows 窗体控件,就支持具有多个应用程序域的 Windows 窗体应用程序。 |
帮助创建窗体和控件
有关如何使用这些功能的详细步骤信息,请参见下列帮助主题。
说明 |
帮助主题 |
---|---|
使用 Visual Studio 创建新的 Windows 窗体应用程序 |
|
在窗体上使用控件 |
|
处理来自窗体及窗体控件的事件 |
|
使用 ToolStrip 控件 |
|
使用 System.Drawing 创建图形 |
|
创建自定义控件 |
显示和操作数据
许多应用程序必须从数据库、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 组件 |
|
使用 ADO.NET 数据源 |
|
使用“数据源”窗口 |
|
使用应用程序设置 |
将应用程序部署到客户端计算机
编写完应用程序后,必须将它发送给您的用户,以便他们可以在自己的客户端计算机上安装并运行该应用程序。使用 ClickOnce 技术,只需几次单击即可从 Visual Studio 中部署应用程序,并为用户提供指向网站上的应用程序的 URL。ClickOnce 管理应用程序中的所有元素和依赖项,并确保应用程序正确地安装在客户端计算机上。
ClickOnce 应用程序可以配置为仅在用户连接到网络时运行,或在联机和脱机时都可以运行。如果指定应用程序应该支持脱机操作,则 ClickOnce 将在用户的“开始”菜单中添加指向应用程序的链接。随后,用户不必使用 URL 即可打开应用程序。
更新应用程序时,需将新的部署清单和应用程序的新副本发布到 Web 服务器。ClickOnce 将检测到存在可用更新并升级用户的安装;无需自定义编程来更新旧的程序集。
帮助部署 ClickOnce 应用程序
有关 ClickOnce 的完整介绍,请参见 ClickOnce 部署概述。有关如何使用这些功能的详细步骤信息,请参见下列帮助主题。
说明 |
帮助主题 |
---|---|
使用 ClickOnce 部署应用程序 |
|
更新 ClickOnce 部署 |
|
使用 ClickOnce 管理安全性 |
其他控件和功能
Windows 窗体中提供的许多其他功能可以快速方便地实现一些常规任务,如对以下任务的支持:创建对话框、打印、添加帮助和文档以及将应用程序本地化为多种语言。此外,Windows 窗体依赖于 .NET Framework 的可靠的安全系统。通过这一系统,您可以向客户发布更安全的应用程序。
帮助实现其他控件和功能
有关如何使用这些功能的详细步骤信息,请参见下列帮助主题。
说明 |
帮助主题 |
---|---|
打印窗体的内容 |
|
全球化 Windows 窗体应用程序 |
|
了解有关 Windows 窗体安全性的更多信息 |
请参见
任务
概念
对 .NET Framework 2.0 的 Windows 窗体的改进