目录
一 什么是Windows窗体应用程序?
Windows窗体应用程序指的是在Windows操作系统上运行的应用程序,它们使用了Windows窗体库来创建用户界面。Windows窗体应用程序通常具有窗体、按钮、文本框、菜单等控件,用户可以通过与这些控件交互来完成各种任务。
开发Windows窗体应用程序一般使用Visual Studio等集成开发环境(IDE),通过拖拽和配置控件,开发人员可以快速地创建用户界面。在创建窗体应用程序时,开发人员可以使用C#、VB.NET等编程语言来编写逻辑代码,与控件进行交互,处理用户输入,展示数据等。
Windows窗体应用程序具有以下特点:
1.用户友好:通过图形化界面和丰富的控件,使得用户可以直观地操作应用程序。
2.可视化设计:开发人员可以通过可视化界面设计工具来设计窗体布局和控件样式。
3.交互性:用户可以与控件进行交互,例如点击按钮、输入文本等,触发相应的事件。
4.数据展示:窗体应用程序可以从数据库、文件或其他数据源中获取数据,并将其展示给用户。
5.多线程支持:开发人员可以使用多线程来实现复杂的操作,避免应用程序在执行耗时任务时出现假死现象。
二 如何创建Windows窗体应用程序?
1.创建步骤
文件->新建->项目
选择Windows窗体应用程序->确定
创建成功
2.熟悉界面
页面左侧为解决方案资源管理器(视图->解决方案管理器)
页面中间即为所创建的窗体
页面右上侧为工具箱(视图->工具箱)
右下侧为工具箱控件属性(右击窗体->属性)
三 Windows窗体及消息框
1)窗体
3.1.1 常用属性
属性 | 含义 |
---|---|
Text | 设置窗体的标题 |
Size | 设置窗体的大小 |
BackColor | 设置对象背景颜色 |
Font | 设置或者获取显示文字的字体 |
ForeColor | 设置对象前景颜色 |
Icon | 设置窗体的图标 |
MinimizeBox | 设置窗体的最小化按钮 |
MaximizeBox | 设置窗体的最大化按钮 |
3.1.2 常用事件
事件 | 含义 |
---|---|
Load | 在第一次显示窗体前发生 |
Click | 当程序运行后用鼠标单击对象时触发的事件 |
Move | 移动控件时触发该事件 |
Closed | 关闭窗体时触发该事件 |
3.1.3 常用方法
方法 | 含义 |
---|---|
Close() | 关闭窗体 |
Refresh() | 清除窗体中生成的图形或文字 |
CreateGraphics() | 创建Graphics对象 |
Activate() | 激活窗体并获得焦点 |
ResetBackColor() | 重置BackColor属性为默认值 |
ShowDialog() | 将窗体显示为模式对话框 |
Show() | 显示控件 |
Hide() | 隐藏控件 |
Dispose() | 释放所使用的资源 |
2) 消息框
3.2.1 MessageBoxButtons枚举成员
成员 | 说明 |
---|---|
Ok | “确定”按钮 |
OkCancel | “确定”、“取消”按钮 |
YesNo | “是”、“否”按钮 |
YesNoCancel | “是”、“否”、“取消”按钮 |
AbortRetryIgnore | “终止”、“重试”、“忽略”按钮 |
RetryCancel | 重试”、“取消”按钮 |
3.2.2 MessageBoxIcon枚举成员
成员 | 说明 |
---|---|
None | 无提示图标 |
Hand | |
Question | |
Exclamation | |
Asterisk | |
Stop | |
Error | |
Warning | |
Information |
3.2.3 DialogResult枚举成员
成员 | 说明 |
---|---|
None | 没有单击消息框按钮,模式消息框继续运行 |
OK | 单击了消息框“确定”按钮 |
Cancel | 单击了消息框“取消”按钮 |
Abort | 单击了消息框“终止”按钮 |
Retry | 单击了消息框“重试”按钮 |
Ignore | 单击了消息框“忽略”按钮 |
Yes | 单击了消息框“是”按钮 |
No | 单击了消息框“否”按钮 |
3.2.4 使用消息框显示信息
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e)
{
MessageBox::Show(" 是否启动原神? ","原神",MessageBoxButtons::OKCancel,MessageBoxIcon::Asterisk);
//if(MessageBox::Show("顺其自然","坦荡",MessageBoxButtons::OKCancel,MessageBoxIcon::Asterisk)==System::Windows::Forms::DialogResult::OK)
// this->Close();
}
四 常见的Windows控件及使用
Windows常用控件有标签、按钮、文本框、单选按钮、复选按钮、列表框、组合框、分组框、面板、图片框等。本节分别介绍窗体中添加控件方法及常用控件的使用。
1. 为窗体添加控件
1)双击工具箱中的控件,将在窗体的默认位置添加默认大小的控件。
2)在工具箱中选中一个控件,按住鼠标左键不放,把鼠标指针移到窗体的相应位置,然后松开鼠标左键。
2.调整控件
控件添加到窗体中之后,可以对控件进行调整,包括其位置、大小、对齐方式等。
要调整控件的摆放,首先要选中窗体中的控件(如果要选择多个控件时,可以先按下CTRL键或SHIFT键,同时用鼠标单击要选择的其他控件;或者按下鼠标左键拖动鼠标,选择一个范围,该范围内的控件均被选中),然后通过格式菜单或工具栏上的格式按钮进行调整。
3.常见控件及其属性
4.3.0 属性
事 件 | 描 述 |
---|---|
Click | 在单击控件时发生 |
DoubleClick | 在双击控件时发生 |
DragDrop | 完成拖放时发生 |
DragEnter | 当被拖动的对象进入控件的边界时发生 |
DragLeave | 当被拖动的对象离开控件的边界时发生 |
MouseDown | 当鼠标指针位于控件上并按下鼠标键时发生 |
MouseUp | 当鼠标指针位于控件上并释放鼠标键时发生 |
MouseMove | 鼠标指针移到控件上时发生 |
KeyPress | 控件有焦点的情况下,按下任一键时发生 |
KeyDown | 控件有焦点的情况下,按下并释放键时发生 |
KeyUp | 控件有焦点的情况下,释放任一键时发生 |
GotFocus | 在控件获得焦点时发生 |
LostFocus | 当控件失去焦点时发生 |
Paint | 在重绘控件时发生 |
Resize | 在调整控件大小时发生 |
Validated | 在控件完成验证时发生 |
Validating | 在控件正在验证时发生 |
4.3.1 按钮控件
Button(按钮)控件,在工具箱中的图标是
用户单击按钮后,会触发Click(单击)事件处理程序。 按钮控件不支持DoubleClick(双击)事件。
例:
1).在窗体上拖放一个按钮Button1。
2).选中Button1,打开属性窗口的属性标签页
选择单击
选择Text属性,为该属性赋值为“我很帅,但很坏”
3) 选择Button1,打开属性窗口的事件标签页
单击图标
双击它的单击事件
就会跳转到代码编辑器 ,并自动生成Button1的单击事件的框架,代码如下:
private: System::Void button7_Click(System::Object^ sender, System::EventArgs^ e)
{
button7->Text="我很丑,可是我很温柔!";
button7->Size= System::Drawing::Size(170, 80);
}
4)运行程序,用鼠标单击按钮,结果如下:
图单击按钮前的界面
图 单击按钮后的界面
4.3.2 文本控件
4.3.2.1 Label控件
Label控件又称为标签控件,在工具箱中的图标是
通常用来输出标题、显示处理后的结果、标识窗体上的对象或者输出文本信息等,这些信息不能被编辑,标签一般也不用于事件的触发。
标签中常用属性:
属性 | 说明 |
---|---|
Text | 于显示标签的内容,是标签控件的重要属性之一 |
AutoSize | 设置控件大小是否随标签的Text属性的内容大小自动调整,取值为True或者False,默认值为True。 |
Image | 用于设置图像 |
选择Label控件,打开属性窗口,在Image属性右侧有一个带三个逗点的按钮
单击该按钮,显示一个打开文件页面,找到保存图像文件的相应位置,且选择该文件,并单击“打开”按钮,这样就完成了对标签控件的图像设置。
4.3.2.2 TextBox控件
TextBox控件又称为文本框控件,在工具箱中的图标是
该控件可以输入信息,并且可以显示输出信息,同时还可以修改、编辑文本框的内容。
常用属性:
属性 | 说明 |
---|---|
WordWrap | 多行编辑控件是否自动换行 |
MaxLength | 设置文本框允许输入字符的最大长度,该属性为0时,其最大长度仅受内存限制 |
MultiLine | 设置是否可以输入多行文本,当取值为True时,允许输入多行的文本(此时通常也把WordWrap设置为True),当取值为False时,只能输入一行文本,超过文本框部分的文本不能显示 |
PasswordChar | 允许设置一个字符,程序在运行时,文本框中所有的Text属性的内容全部被PasswordChar属性所设定的值代替 |
ReadOnly | 表示只读,其值为布尔型 |
ScrollBars | 设置滚动条模式,None为无滚动条,Horizontal为水平滚动条,Vertical为垂直滚动条,Both为水平和垂直滚动条 |
SelectedText | 在文本框中选中的文本内容 |
TextBox常用方法
方法 | 说明 |
---|---|
Clear() | 清除文本框中的内容 |
Copy() | 将文本框中选中的文本复制到剪贴板 |
Cut() | 将文本框中选中的文本剪切到剪贴板 |
Paste() | 将剪贴板中的内容粘贴到文本框中当前光标所在位置 |
Redo() | 重新应用控件中上一次撤销的操作 |
Select () | 选中文本框中的部分或者全部文本 |
SelectAll() | 选中文本框中的全部内容 |
Undo() | 撤销对文本框的上一个编辑操作 |
例设计一段程序,完成在相应编辑框中输入姓名、性别、年龄、专业,然后单击确定按钮,弹出一个消息框,显示你所填写的内容。
在窗体上添加四个Label控件,修改它们的Text属性如表所示
控件属性设置
在button的单机事件中编写如下代码:
public: System::Void button1_Click_1(System::Object^ sender, System::EventArgs^ e)
{
String^ aa;//托管
aa="ddd";