Windows 窗体应用程序基础知识 (Visual Basic)

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

设计 Windows Forms 应用程序

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

生成丰富交互式用户界面

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

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

事件

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

控件

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

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

借助 Visual Studio 拖放窗体设计器,可以轻松创建 Windows 窗体应用程序:只需选择带有光标的控件,并将其放置在窗体上所需的位置。 设计器提供诸如网格线和对齐线的工具,以便简化对齐控件的操作。 无论是在命令行中使用 Visual Studio 还是编译,都可以使用FlowLayoutPanelTableLayoutPanel控件SplitContainer创建高级窗体布局,只需最少的时间和精力。

自定义 UI 元素

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

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

请参阅
使用 Visual Studio 创建新的 Windows 窗体应用程序 教程 1:创建图片查看器
在窗体上使用控件 如何将控件添加到 Windows 表单
使用 System.Drawing 创建图形 图形编程入门
创建自定义控件 如何:从 UserControl 类继承

显示和处理数据

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

将 Windows 窗体智能客户端程序通过网络连接到数据源是一个简单任务。 BindingSource 组件是 Windows 窗体在 Visual Studio 2005 和 .NET Framework 2.0 中的新功能,表示与数据源的连接,并公开了用于将数据绑定到控件、导航至上一条和下一条记录、编辑记录以及将更改保存回原始源的方法。 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 安全设置

其他控件和功能

Windows 窗体中还有其他许多功能,可快速轻松地实现常见任务,例如支持创建对话框、打印、添加文档并将应用程序本地化为多种语言。 此外,Windows 窗体依赖于 .NET 的可靠安全系统,使你能够向客户发布更安全的应用程序。

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

请参阅
打印窗体内容 如何在 Windows 窗体中打印图形

如何:打印 Windows 窗体中的多页文本文件
了解有关 Windows 窗体安全的详细信息 Windows 窗体中的安全性概述

另请参阅