通过使用 .NET Framework 创建 Windows 窗体应用程序 (C++)

更新:2010 年 7 月

使用 Visual C++ 开发 Windows 窗体项目,通常与使用任何其他 .NET 语言(如 Visual Basic 或 Visual C#)进行开发并无不同。

使用 Visual C++ 编写的 Windows 窗体应用程序通过新的 Visual C++ 语法使用 .NET Framework 类和其他 .NET 功能。 有关更多信息,请参见Language Features for Targeting the CLR

在本过程中,您将使用工具箱中的几种标准控件创建 Windows 窗体应用程序。 用户可以在完成后的应用程序中选择一个日期,此时将出现一个文本标签,显示用户选择的日期。

系统必备

本主题假定您具备 C++ 语言的基础知识。 如果您是刚开始学习 C++,建议您参阅 Herb Schildt 编写的“C++ Beginner's Guide”(《C++ 初学者指南》),该书可从 https://go.microsoft.com/fwlink/?LinkId=115303 在线获得。

链接到视频 有关本主题的视频版本,请参见 Video How to: Creating a Windows Forms Application By Using the .NET Framework (C++)(视频帮助:使用 .NET Framework 创建 Windows 窗体应用程序 (C++))。

提示

对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置

创建新的 Windows 窗体项目

  1. 在**“文件”菜单上,单击“新建”,然后单击“项目”**。

  2. 在**“项目类型”窗格中,选择“Visual C++”节点中的“CLR”,然后在“模板”窗格中选择“Windows 窗体应用程序”**。

    键入项目的名称,如“winformsapp”。 您可以接受默认位置、键入一个位置或者导航到要保存项目的目录。

  3. 随即打开 Windows 窗体设计器,显示所创建项目的**“Form1”**,如下所示:

    新创建的窗体

向窗体添加控件

  1. 如果看不到**“工具箱”窗口,请在“视图”菜单上单击“工具箱”**。

  2. 将**“工具箱”中的三个控件放到“Form1”**设计图面上:

    1. 将一个 Label 控件拖动到靠近**“Form1”**左上角的位置。

    2. 将一个 DateTimePicker 控件拖动到 Label 控件正下方。

    3. 将一个 Button 控件拖动到窗体底部靠近中心点的位置。

    窗体应该与下面的内容类似:

    带有标签、DateTimePicker 和按钮的窗体

设置窗体和控件的属性

  1. 单击窗体图面上的空白区域以选择窗体。

  2. 如果没有显示**“属性窗口”,请单击“视图”菜单上的“属性窗口”**(或按 F4)。

    您可能需要关闭**“工具箱”**以获得更多空间。

  3. 设置窗体的**“Text”属性(显示在窗体标题栏中),方法是在“属性窗口”“Text”**属性的右侧单击,并键入:

    日期选择器

  4. 单击以选择标签,将其**“Text”**属性设置为:

    “选择日期:”。

  5. 单击以选择按钮,将其**“Text”**属性设置为:

    “确定”。

    窗体应该与下面的内容类似:

    标签已更改的窗体

编写事件处理程序代码

在本节中,您将编写在发生以下事件时运行的代码:

编写代码以处理事件

  1. 双击按钮以添加按钮 Click 事件处理程序(按钮的默认事件为 Click 事件)。

    在选项卡页的编辑区域中显示的窗体的“代码”视图中,此操作创建了一个空事件处理程序方法。

    提示

    还将一行代码添加到 InitializeComponent 函数中,此函数创建事件处理程序,并将其分配给与控件相关联的“单击”字段。 如果您双击“设计”视图中的控件以添加相关代码,然后决定稍后移除它,则删除两个添加项(不仅仅是空的事件处理程序)。

  2. 将光标移动到 button1_Click 方法的左大括号之后,并键入在发生该事件时运行的以下代码:

    Application::Exit();

  3. 返回“设计”视图,方法是单击编辑区域中的**“Form1.h [设计]”选项卡,或者单击“视图”菜单上的“设计器”**。

  4. 单击 DateTimePicker 控件。

  5. 若要向 DateTimePicker 控件添加 ValueChanged 事件处理程序,请单击**“属性”**窗口中的闪电形图标,显示该控件的事件。

  6. 双击**“ValueChanged”**事件,在“代码”视图中生成一个空事件处理程序。

    提示

    ValueChangedDateTimePicker 控件的默认事件。 因此,您还可以双击 DateTimePicker 控件,以生成空事件处理程序。

  7. 将光标移动到 dateTimePicker1_ValueChanged 方法的左大括号之后,按 Enter 键,并键入在发生该事件时运行的以下代码:

    label1->Text=String::Format("New date: {0}", dateTimePicker1->Text);

    当应用程序的用户选择了新的日期时,标签的 Text 属性将设置为后跟 DateTimePicker 的 Text 属性的字符串 "New date:"。

生成并运行程序

  1. 在**“生成”菜单中,单击“生成解决方案”**。

    如果存在错误,请单击**“输出”窗口中的“转到下一条消息”**按钮。 错误消息文本显示在状态栏中。 您可以双击任何错误,转到源代码中包含该错误的行。

  2. 在**“调试”菜单中,单击“不进行调试直接运行”**。 将显示您生成的应用程序。

  3. 测试该应用程序,方法是单击 DateTimePicker 上的向下箭头,选择一个日期。 标签文本更改为显示所选的日期,如下所示:

    从 DateTimePicker 中选择一个日期后显示的窗体

  4. 您可以向此应用程序添加更多功能,如菜单、其他窗体和帮助文件。 不要畏惧实验。

后续步骤

上一部分:创建基于 Win32 的应用程序 (C++) |下一部分: 创建 Windows 窗体控件 (C++)

请参见

任务

Visual C++ 指导教程

参考

System.Windows.Forms

概念

基于 Windows 的应用程序概述

其他资源

创建基于 Windows 的应用程序

修订记录

日期

修订记录

原因

2010 年 7 月

删除了表示支持 C++/CLI 中 Intellisense 的文本。

客户反馈