2. 在“项目类型”窗格中,选择“Visual C++”节点中的“CLR”,然后在“模板”窗格中选择
“Windows 窗体应用程序”。
键入项目的名称,如“winformsapp”。 您可以接受默认位置、键入一个位置或者导航到要保存项目的目录。
3. 随即打开 Windows 窗体设计器,显示所创建项目的“Form1”,如下所示:
向窗体添加控件
1. 如果看不到“工具箱”窗口,请在“视图”菜单上单击“工具箱”。 2. 将“工具箱”中的三个控件放到“Form1”设计图面上:
a. 将一个 Label 控件拖动到靠近“Form1”左上角的位置。 b. 将一个 DateTimePicker 控件拖动到 Label 控件正下方。 c. 将一个 Button 控件拖动到窗体底部靠近中心点的位置。 窗体应该与下面的内容类似:
设置窗体和控件的属性
1. 单击窗体图面上的空白区域以选择窗体。
2. 如果没有显示“属性窗口”,请单击“视图”菜单上的“属性窗口”(或按 F4)。
您可能需要关闭“工具箱”以获得更多空间。
3. 设置窗体的“Text”属性(显示在窗体标题栏中),方法是在“属性窗口”中“Text”属性的
右侧单击,并键入: 日期选择器
4. 单击以选择标签,将其“Text”属性设置为:
“选择日期:”。
5. 单击以选择按钮,将其“Text”属性设置为:
“确定”。
窗体应该与下面的内容类似:
编写事件处理程序代码
在本节中,您将编写在发生以下事件时运行的代码: ? ?
Button 控件上的 Click 事件。
DateTimePicker 控件上的 ValueChanged 事件。
编写代码以处理事件
1. 双击按钮以添加按钮 Click 事件处理程序(按钮的默认事件为 Click 事件)。
在选项卡页的编辑区域中显示的窗体的“代码”视图中,此操作创建了一个空事件处理程序方法。
Note 还将一行代码添加到 InitializeComponent 函数中,此函数创建事件处理程序,并将其分配给与控件相关联的“单击”字段。 如果您双击“设计”视图中的控件以添加相关代码,然后决定稍后移除它,则删除两个添加项(不仅仅是空的事件处理程序)。 2. 将光标移动到 button1_Click 方法的左大括号之后,并键入在发生该事件时运行的以下
代码:
Application::Exit();
3. 返回“设计”视图,方法是单击编辑区域中的“Form1.h [设计]”选项卡,或者单击“视图”
菜单上的“设计器”。 4. 单击 DateTimePicker 控件。
5. 若要向 DateTimePicker 控件添加 ValueChanged 事件处理程序,请单击“属性”窗口中的
闪电形图标,显示该控件的事件。
6. 双击“ValueChanged”事件,在“代码”视图中生成一个空事件处理程序。
Note ValueChanged 是 DateTimePicker 控件的默认事件。 因此,您还可以双击 DateTimePicker 控件,以生成空事件处理程序。 7. 将光标移动到 dateTimePicker1_ValueChanged 方法的左大括号之后,按 Enter 键,
并键入在发生该事件时运行的以下代码:
label1->Text=String::Format(\dateTimePicker1->Text);
当应用程序的用户选择了新的日期时,标签的 Text 属性将设置为后跟 DateTimePicker 的 Text 属性的字符串 \。
生成并运行程序
1. 从“生成”菜单中单击“生成解决方案”。
如果存在错误,请单击“输出”窗口中的“转到下一条消息”按钮。 错误消息文本显示在状态栏中。 您可以双击任何错误,转到源代码中包含该错误的行。
2. 在“调试”菜单中,单击“不进行调试直接运行”。 将显示您生成的应用程序。
3. 测试该应用程序,方法是单击 DateTimePicker 上的向下箭头,选择一个日期。 标签文
本更改为显示所选的日期,如下所示:
4. 您可以向此应用程序添加更多功能,如菜单、其他窗体和帮助文件。 不要畏惧实验。
创建 Windows 窗体控件 (C++)
Windows 窗体控件是可以添加到 Windows 窗体应用程序(面向公共语言运行时的 GUI 应用程序)的组件。 使用 Visual C++ 编写的 Windows 窗体应用程序通过新的 Visual C++ 语法使用 .NET Framework 类和其他 .NET 功能。
在本过程中,您将创建显示数字的 Windows 窗体控件。 用户每次单击应用程序中的标签时将递增此数字。 您还将创建一个 Windows 窗体应用程序项目来测试该控件。 本演练涵盖以下内容: ? ? ? ? ? ?
创建新项目。 设计控件。
向控件添加自定义属性。 添加用于测试控件的项目。 将控件放在应用程序中。 运行应用程序。
系统必备
本主题假定您具备 C++ 语言的基础知识。
有关本主题的视频版本,请参见 Video How to: Creating a Windows Forms Control (C++)(视频帮助主题:创建 Windows 窗体控件 (C++))。
创建新项目
在本节中,您将使用“Windows 窗体控件”项目模板创建一个用户控件,该控件是一个包含其他控件的复合控件。
您也可以通过直接从 Control 类(代码负责绘制控件)或者 Component 类(无 UI 的控件)派生一个类来创建 Windows 窗体控件。
创建新的 Windows 窗体控件项目
1. 在“文件”菜单上,单击“新建”,再单击“项目…”。
2. 在“项目类型”窗格中,选择“Visual C++”节点中的“CLR”,然后在“Visual Studio 已安
装的模板”窗格中选择“Windows 窗体控件库”。 键入项目的名称,如“clickcounter”。
为解决方案键入一个不同的名称,如“controlandtestapp”。
您可以接受默认位置、键入所需的位置或者导航到要保存项目的目录。
3. Windows 窗体设计器将打开并显示一个区域,您可以将要放置到控件设计图面上的控
件添加到该区域中。
设计控件
在本步骤中,您要将一个 Label 控件添加到控件设计图面中。 然后,设置控件本身及其包含的 Label 控件的一些属性。
设置用户控件的属性
1. 如果没有显示“属性”窗口,请单击“视图”菜单上的“属性窗口”。
在 Windows 窗体设计器中,单击控件将其选中并按如下方式设置它的属性: ? ?
将“Size”属性设置为“100, 100”。 将“BorderStyle”设置为“Fixed3D”。
将控件放置到应用程序中后,将显示标签的边框。
2. 如果“工具箱”窗口不可见,请从“视图”菜单中选择“工具箱”。
将一个 Label 控件从“工具箱”拖动到设计图面上,将其放置在靠近控件中心的位置。 设置标签的下列属性: