0


Visual Studio 2010创建Windows窗体应用程序

目录

一 什么是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";
    aa="姓名为:"+name->Text +"  "+"性别为:"+ sex->Text+"年龄为:"+age->Text +"  "+"专业为a:"+ major->Text;;
    name->Cut();
    sex->Paste();MessageBox::Show(aa);}

请添加图片描述
动态创建:

TextBox^ a=gcnew TextBox();this->Controls->Add(a);
a->Location=System::Drawing::Point(20,200);// ^代表托管指针
4.3.2.3 RichTextBox控件

RichTextBox控件又称为富文本控件,在工具箱中的图标是
在这里插入图片描述
该控件用于显示、输入和操作带有格式的文本,该控件提供了比TextBox更高级的格式设置。
RichTextBox控件常用属性见表所示
在这里插入图片描述
例 使用RichTextBox控件的SelectionColor属性和SelectionFont属性对选中的文本进行颜色和字体的设置

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e){
    richTextBox1->SelectionFont= gcnew System::Drawing::Font("Dotum",12,FontStyle::Italic);
    richTextBox1->SelectionColor=System::Drawing::Color::Blue;}

请添加图片描述
选中后点击button的结果
请添加图片描述

private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e){
    textBox1->Text=richTextBox1->SelectedText;//丢失选中文本的格式     }

请添加图片描述

4.3.3 容器控件

4.3.3.1 GroupBox控件

GroupBox控件又称为分组框,在工具箱中的图标是
在这里插入图片描述
该控件可以为其他控件提供可识别的分组。分组框本身是一个容器类控件,根据程序设计的需要,把可归为同一组的一些控件放在一个GroupBox控件中,这样,GroupBox控件就成为这些控件的父控件,在移动GroupBox控件时,它内部的其他控件也随之移动

4.3.3.2 Panel控件

Panel控件也是一个容器控件,在工具箱中的图标是
在这里插入图片描述
该控件没有Text属性,而GroupBox控件具有Text属性。Panel控件把其他控件组合在一起,放在一个面板上,更易于管理这些控件
请添加图片描述

4.3.4 选择控件

4.3.4.1 RadioButton控件

RadioButton控件又称为单选按钮控件,在工具箱中的图标是
在这里插入图片描述
在同一个容器中的多个RadioButton控件中,只能有一个RadioButton控件为选中状态。

Checked属性:单选按钮是否被选中,该值为True,表示被选中。

if(radioButton1->Checked)
  textBox1->Text=richTextBox1->SelectedText;

Appearance属性:当取值为Normal时,单选按钮选中状态为在这里插入图片描述
没有选中状态为在这里插入图片描述
当取值为Button时,外观看起来像标准的按钮,但工作方式类似于开关,选中状态为在这里插入图片描述
没有选中状态为
在这里插入图片描述
CheckedChanged事件:当Checked属性值发生改变时,触发该事件。
请添加图片描述

4.3.4.2 CheckBox

CheckBox控件又称为复选框,在工具箱中的图标是
在这里插入图片描述
在同一个容器中的多个CheckBox控件中,可以有多个CheckBox控件为选中状态。它们之间并不互相排斥。
ThreeState属性 若把该属性设置为True,则复选框就有如下三个CheckState 枚举值可选。
Checked:复选框有选中标记。
UnChecked:复选框没有选中标记。
Indeterminate:复选框为灰色显示。
请添加图片描述

4.3.5 列表框、组合框控件

4.3.5.1 ListBox

ListBox控件又称为列表框,在工具箱中的图标是
在这里插入图片描述
它允许用户从所列出的表项中进行单项或多项选择,被选择的项呈高亮度显示,列表框一般带有一个垂直滚动条。列表框分单选列表框和多重选择列表框两种。单选列表框一次只能选择一个列表项,而多重选择列表框可以选择多个列表项。
列表框的常用属性:
在这里插入图片描述
向列表框中添加项目的内容的方法:
向窗体中拖放一个列表框控件,选中该列表框,然后打开属性窗口,单击Items属性右侧的按钮,在弹出的字符串集合编辑器中输入各个项目的内容,输入结束后,单击确定按钮,这样在窗体中即可看到列表框中各个项的内容,如果项目较多,会自动添加一个垂直的滚动条
请添加图片描述
请添加图片描述

列表框的Items属性ListBox::ObjectCollection类表示。
该类的主要方法见下表所示
在这里插入图片描述
列表框的常用事件 :
当鼠标单击列表框中的某一项时会触发SelectIndexChanged事件
例 完成向列表框中添加项、删除项
添加项:

private: System::Void button1_Click_4(System::Object^  sender, System::EventArgs^  e){
    listBox1->Items->Add(textBox1->Text);}

请添加图片描述
删除项:

private: System::Void button2_Click_3(System::Object^  sender, System::EventArgs^  e){
    String^ s;
    s=listBox1->SelectedItem->ToString();
    listBox1->Items->Remove(s);}

请添加图片描述
单击某一项显示该项的指针值:

int n;
String^ s;
n=listBox1->SelectedIndex;             
s= System::Convert::ToString(System::Convert::ToSingle(n));//ToSingle将指定整数的值转换为等效的单精度浮点数字 MessageBox::Show(s);

请添加图片描述

4.3.5.2 ComboBox

ComboBox控件又称为组合框,在工具箱中的图标是在这里插入图片描述
是文本框和列表框的组合,因此有与文本框和列表框相似的属性、方法、事件
在这里插入图片描述
添加项:

private: System::Void button1_Click_5(System::Object^  sender, System::EventArgs^  e){if((!comboBox1->Items->Contains(comboBox1->Text)))
                 comboBox1->Items->Add(comboBox1->Text);}

请添加图片描述

4.3.6 进度条控件

ProgressBar控件又叫进度条控件,在工具箱中的图标是
请添加图片描述
该控件是在较长操作时间的状态下,告知用户正在进行某个操作,指示用户等待
ProgressBar控件常用属性如表所示

在这里插入图片描述

private: System::Void button1_Click_6(System::Object^  sender, System::EventArgs^  e){if(progressBar1->Value==progressBar1->Maximum)
                progressBar1->Value=0;else 
                progressBar1->Value=progressBar1->Value+5;//注意,每次加的值应该为Maxmun的因子}

请添加图片描述

4.3.7 定时器控件

Timer控件也叫定时器控件,在工具箱中的图标是在这里插入图片描述
定时器的重要属性:
Interval设置定时器触发事件的间隔时间,单位是毫秒。
定时器的常用方法:
方法说明Start()启动定时器Stop()停止定时器
定时器的常用事件:
Tick事件:Interval属性设置后,启动定时器,每经过Interval指定时间会触发一次Tick事件。
例1:

private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e){if(progressBar1->Value==progressBar1->Maximum)
             progressBar1->Value=0;else 
             progressBar1->Value=progressBar1->Value+5;}private: System::Void button1_Click_7(System::Object^  sender, System::EventArgs^  e){
        timer1->Start();}private: System::Void button2_Click_4(System::Object^  sender, System::EventArgs^  e){
        timer1->Stop();}

例1 动态显示时间:

private: System::Void timer1_Tick(System::Object^  sender, System::EventArgs^  e){
             DateTime  currentTime ; 
             currentTime= DateTime::Now;
             textBox1->Text=currentTime.ToString();}private: System::Void button1_Click_7(System::Object^  sender, System::EventArgs^  e){
             timer1->Start();}private: System::Void button2_Click_4(System::Object^  sender, System::EventArgs^  e){
             timer1->Stop();}

请添加图片描述

4.3.8 PictureBox控件

PictureBox控件用于显示图像,在工具箱中的图标是在这里插入图片描述
PictureBox控件常用属性
在这里插入图片描述

private: System::Void button1_Click_8(System::Object^  sender, System::EventArgs^  e){
    pictureBox1->Image =Image::FromFile("C:\\图片\\6.jpg");}private: System::Void button2_Click_5(System::Object^  sender, System::EventArgs^  e){
    pictureBox1->Load("C:\\图片\\1.jpg");}

请添加图片描述

4.3.9 通用对话框

4.3.9.1 打开文件对话框

OpenFileDialog控件提供了一个Windows标准的打开文件对话框,在工具箱中的图标
在这里插入图片描述
用户可以使用打开文件对话框浏览计算机中的文件,并选择打开一个或多个文件
常用属性:
在这里插入图片描述
常用方法:
在这里插入图片描述
常用事件:
在这里插入图片描述

private: System::Void pictureBox1_Click(System::Object^  sender, System::EventArgs^  e){
         OpenFileDialog^ ofd=gcnew OpenFileDialog();
         ofd->Filter="Bmp|*.bmp|jpg|*.jpg";if(ofd->ShowDialog()==System::Windows::Forms::DialogResult::OK && ofd->FileName->Length>0){
             pictureBox1->Load(ofd->FileName);}}

请添加图片描述

4.3.9.2 保留文件对话框

SaveFileDialog控件用于保存文件的对话框,在工具箱中的图标是
在这里插入图片描述
常用的属性和OpenFileDialog控件大致相同。

private: System::Void pictureBox1_Click(System::Object^  sender, System::EventArgs^  e){
    SaveFileDialog^ saveFileDialog1 = gcnew SaveFileDialog();
    saveFileDialog1->Filter ="txt files (*.txt)|*.txt|All files (*.*)|*.*";
    saveFileDialog1->FilterIndex =2;
    saveFileDialog1->RestoreDirectory =true;
    saveFileDialog1->ShowDialog();}
4.3.9.3 颜色对话框

ColorDialog控件,用于显示可使用的颜色和用户自定义的颜色,在工具箱中的图标是
在这里插入图片描述其常用属性见下表
在这里插入图片描述
方法
方法说明ShowDialog运行通用对话框ToString返回表示ColorDialog的字符串

private: System::Void button1_Click_9(System::Object^  sender, System::EventArgs^  e){
            ColorDialog^ colorDialog = gcnew ColorDialog();
            colorDialog->AllowFullOpen =true;
            colorDialog->FullOpen =true;//自定义颜色控件在对话框打开时是否可见
          colorDialog->ShowDialog();
          textBox1->BackColor=colorDialog->Color;}

请添加图片描述

4.3.9.4 字体对话框

FontDialog控件,用于选择本地计算机上安装的一种字体,在工具箱中的图标是
在这里插入图片描述
常用属性如下表:
在这里插入图片描述
例题:在窗体中通过使用通用对话框控件来控制富文本框中的内容及字体
在窗体的头文件中添加如下代码:

usingnamespace System::IO;

StreamReader类用于从文本文件中读取信息。
常用方法:
Read:读取一个字节或指定字节数
ReadLine:读取一行
ReadToEnd :读取到文件结束
Close:关闭数据流
Stream Writer类以特定的编码方式将字符写入流中
常用方法:
Write 将字符串写入流
Close关闭数据流

private: System::Void button1_Click_9(System::Object^  sender, System::EventArgs^  e){
  openFileDialog1->InitialDirectory="C:\\Users\\HD\\OneDrive\\桌面\\22041327袁帅\\";
  openFileDialog1->Filter="文本文件(*.txt)|*.txt";if(openFileDialog1->ShowDialog()==Windows::Forms::DialogResult::OK){
     StreamReader ^str=gcnew StreamReader(openFileDialog1->FileName);
     richTextBox1->Text=str->ReadToEnd();
     str->Close();}}

打开
请添加图片描述

private: System::Void button2_Click_6(System::Object^  sender, System::EventArgs^  e){if(saveFileDialog1->ShowDialog()==Windows::Forms::DialogResult::OK){
         StreamWriter ^str=gcnew StreamWriter(saveFileDialog1->FileName);
         str->Write(richTextBox1->Text); 
         str->Close();}}

保存

请添加图片描述

private: System::Void button3_Click_1(System::Object^  sender, System::EventArgs^  e){
            fontDialog1->ShowColor=true;//是否显示颜色选择if(fontDialog1->ShowDialog()==Windows::Forms::DialogResult::OK){                    
                 richTextBox1->Font=fontDialog1->Font; 
                 richTextBox1->ForeColor=fontDialog1->Color;}}

字体
请添加图片描述

private: System::Void button4_Click(System::Object^  sender, System::EventArgs^  e){if(colorDialog1->ShowDialog()==Windows::Forms::DialogResult::OK){                    
         richTextBox1->ForeColor=colorDialog1->Color;}}

颜色
请添加图片描述

4.3.10 菜单

MenuStrip控件也叫菜单控件,在工具栏中的图标是
在这里插入图片描述
Windows应用程序通常提供菜单,菜单包括各种基本命令,并按照主题分组。将MenuStrip控件添加到窗体后,它出现在Windows窗体设计器底部的栏中,同时在窗体的顶部将出现主菜单设计器

4.3.10.1 菜单项的设计

当菜单控件添加到窗体中以后,可以直接在标题栏下的菜单项中添加各个菜单项。
可以在属性窗口中单击菜单的Items属性右侧的按钮,打开项集合编辑器,在该编辑器中添加各个菜单项。
Items属性是ToolStrip类型的集合,该集合中可以包含所有从ToolStrip类派生的各种控件元素,有ToolStripMenuItem、ToolStripComboBox、ToolStripSepatator、ToolStripTextBox。
在将要添加菜单项的编辑框的右侧有个小下拉箭头,点中该箭头将显示ToolStrip类中的几种控件类型

请添加图片描述

请添加图片描述

4.3.10.2 分隔条

当二级菜单中选项较多时,可以使用分隔条将其分组。使得菜单结构更加清晰。在将输入的菜单项上输入一个“-”可以在选项的上面添加一个分隔条
请添加图片描述

4.3.10.2 访问键和快捷键

访问键(Access key):访问键是菜单项文字后面的括号中带下划线的字符,它是在菜单设计时定义的。在菜单项的标题文字后面加上一个由”&”引导的字母。即可完成访问键的设定。定义访问键后,运行时按下”ALT+访问键”,就相当于用鼠标单击了一下该菜单项。

快捷键(ShortCut key):设置每个菜单项时,在属性窗口”ShortCutKeys”属性右端,单击下拉箭头,就可在列表中选择一个合适的快捷键。
请添加图片描述
向窗体中添加控件,各个控件的属性如下表所示:
在这里插入图片描述

private: System::Void cLOSEToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e){

openFileDialog1->InitialDirectory="C:\\Users\\HD\\OneDrive\\桌面\\文本文件.txt";
openFileDialog1->Filter="文本文件(*.txt)|*.txt";if(openFileDialog1->ShowDialog()==Windows::Forms::DialogResult::OK){
                     StreamReader ^str=gcnew StreamReader(openFileDialog1->FileName);
                     richTextBox1->Text=str->ReadToEnd();
                     str->Close();}}private: System::Void radioButton1_CheckedChanged_1(System::Object^  sender, System::EventArgs^  e){if(radioButton1->Checked ==true)                
                  richTextBox1->Text +="学位:"+ radioButton1->Text +"\n";}private: System::Void radioButton2_CheckedChanged(System::Object^  sender, System::EventArgs^  e){if(radioButton2->Checked ==true)
                 richTextBox1->Text +="学位:"+ radioButton2->Text +"\n";}private: System::Void radioButton3_CheckedChanged(System::Object^  sender, System::EventArgs^  e){if(radioButton3->Checked ==true)
                 richTextBox1->Text +="学位:"+ radioButton3->Text +"\n";}private: System::Void textBox1_KeyPress(System::Object^  sender, System::Windows::Forms::KeyPressEventArgs^  e){if(e->KeyChar==13)           
                 richTextBox1->Text +="姓名:"+ textBox1->Text +"\n";//textBox1中有键按下时触发textBox1_KeyPress事件}private: System::Void 清除ToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e){
             richTextBox1->Clear();}private: System::Void comboBox1_KeyPress(System::Object^  sender, System::Windows::Forms::KeyPressEventArgs^  e){if((e->KeyChar==13)&&comboBox1->Text!="")
                 richTextBox1->Text+="性别:"+comboBox1->Text+"\n";}private: System::Void checkBox1_CheckedChanged_1(System::Object^  sender, System::EventArgs^  e){if(checkBox1->Checked ==true)
                   richTextBox1->Text +="爱好:"+ checkBox1->Text +"\n";}private: System::Void checkBox2_CheckedChanged(System::Object^  sender, System::EventArgs^  e){if(checkBox2->Checked ==true)
                   richTextBox1->Text +="爱好:"+ checkBox2->Text +"\n";}private: System::Void checkBox3_CheckedChanged(System::Object^  sender, System::EventArgs^  e){if(checkBox3->Checked ==true)
                  richTextBox1->Text +="爱好:"+ checkBox3->Text +"\n";}private: System::Void listBox1_SelectedIndexChanged_1(System::Object^  sender, System::EventArgs^  e){
             richTextBox1->Text+="专业:"+listBox1->SelectedItem+"\n";}private: System::Void comboBox1_SelectedIndexChanged_1(System::Object^  sender, System::EventArgs^  e){
             richTextBox1->Text +="性别:"+ comboBox1->Text +"\n";}private: System::Void sAVESToolStripMenuItem1_Click(System::Object^  sender, System::EventArgs^  e){if(saveFileDialog1->ShowDialog()==Windows::Forms::DialogResult::OK){
                   StreamWriter ^str=File::CreateText(saveFileDialog1->FileName);
                   str->Write(richTextBox1->Text); 
                   str->Close();}}private: System::Void 退出ToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e){this->Close();}private: System::Void 新建ToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e){
             richTextBox1->Clear();
             textBox1->Clear();
             comboBox1->Text="";}private: System::Void 复制ToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e){
             richTextBox1->Copy();}private: System::Void 粘贴ToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e){
             richTextBox1->Paste();}private: System::Void 剪切ToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e){
             richTextBox1->Cut();}private: System::Void 撤销ToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e){
             richTextBox1->Undo();}private: System::Void 替换ToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e){
         String^ str1 = richTextBox1->SelectedText;
         richTextBox1->SelectedText = str1->Replace("爱好","擅长");//richTextBox1->Show(str1);}private: System::Void 查找ToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e){int position = richTextBox1->Text->IndexOf("爱好");int startindex=position;int nextindex =0;if(position==0) nextindex=1;while(nextindex != startindex){  
         richTextBox1->Select(position,2);        
         richTextBox1->SelectionColor = Color::Blue;         
         nextindex=richTextBox1->Find("爱好", position +2,RichTextBoxFinds::WholeWord);if(nextindex ==-1)
                   nextindex =startindex;  
          position = nextindex;}}

视频

4.3.10.3 ContextMenuStrip控件

使用ContextMenuStrip控件可以建立快捷菜单,也称为上下文菜单,在工具箱中的图标是
在这里插入图片描述

设置某个控件的ContextMenuStrip属性,这样就把该特定控件和该上下文菜单联系起来,当用户在右击该控件时,就可显示该上下文菜单的各菜单项。选中其中一个菜单项,即可执行该菜单项的Click事件
我也不太懂…

五 综合应用——学生管理系统的设计

待更新…


本文转载自: https://blog.csdn.net/qq_73702550/article/details/137608864
版权归原作者 集304 所有, 如有侵权,请联系我们删除。

“Visual Studio 2010创建Windows窗体应用程序”的评论:

还没有评论