Windows窗体和常用控件课件_第1页
Windows窗体和常用控件课件_第2页
Windows窗体和常用控件课件_第3页
Windows窗体和常用控件课件_第4页
Windows窗体和常用控件课件_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2024/8/161

Windows窗体和常用控件2024/8/162控制台应用程序的缺点基于字符界面,使用不方便功能十分有限界面不友好,用户体验差2024/8/1635.1Windows窗体窗体本身是一个对象,对应于System.Windows.Forms名称空间的Form类。它有自己的属性、方法和事件,用于控制窗体的外观和行为。窗体又是各种控件的容器,用于容纳各种窗体控件。如果想生成窗体,必须从Form类派生出自己的窗体类。2024/8/164每个事件处理程序提供两个使得以正确处理事件的参数第一个参数sender提供对引发事件的对象的引用。第二个参数e传递针对要处理的事件的对象事件参数privatevoidbutton1_Click(objectsender,System.EventArgse){}2024/8/165窗体和控件窗体代表WinForms

中的类每次创建应用程序,都会添加一个窗体可视化界面组件统称为控件2024/8/166

利用VisualC#编制Windows应用程序的过程可归结成以下几个步骤:

(1)利用窗体设计器和【Windows窗体】控件组中的控件设计应用程序界面。

(2)设计窗口和控件的属性。

(3)编写事件方法代码。2024/8/1675.1.1窗体属性(1)Text属性:指定窗体的标题。2024/8/168(2)Name属性:指定窗体的名称。用于在代码中访问窗体

(3)ForeColor属性:指定窗体的前景色

Form1.ForeColor=Color.Blue;(4)BackColor属性:窗体的背景色。(5)BackgroundImage属性:指定窗体的背景图片。(6)Location和Left、Top属性:指定窗体的显示位置。

Form1.Location=newPoint(10,20);窗体属性设置示例.

转到窗体方法2024/8/169(7)Size和Width、Height属性:指定窗体的大小。

(8)StartPosition属性:指定窗体的起始位置。

Form1.StartPosition=FormStartPosition.CenterScreen;(9)Enabled属性:决定是否可以对用户交互做出响应。(10)Visible属性:窗体是否可见。(11)WindowState属性:指示窗体以什么样的形式显示。2024/8/1610(12)FormBorderStyle属性:设置窗体的边框样式。取值于FormBorderStyle枚举,它只能在设计阶段设置。

2024/8/1611(13)ControlBox、MaximizeBox、MinimizeBox属性:指定在窗体的标题栏中是否显示控制框、最大化按钮、最小化按钮。(14)Icon属性:指定窗体最小化时在任务栏上显示的图标。(15)Cursor属性:设置当鼠标指针位于窗体上时显示的指针形状。它是一个Cursor对象,常用Cursors集合设置。

Form1.Cursor=Cursors.WaitCursor;2024/8/16125.1.2窗体方法(1)Show和Hide方法:显示窗体或隐藏窗体。(2)Close方法:关闭窗体。(3)Focus、Activate方法:激活窗体并给予它焦点。(4)SetBounds方法:设置窗体的位置和大小

this.SetBounds(10,10,100,50);2024/8/16135.1.3窗体事件窗体事件常见的格式为:privatevoid窗体名_事件名(objectsender,EventArgse){

事件响应代码}窗体常见的事件有:(1)Load事件:加载窗体时被引发。它在窗体显示之前被执行,通常进行一些初始化的工作2024/8/1614(2)Activated事件:窗体获得焦点(被激活)时被引发。可以使用此事件处理一些窗体被激活时,窗体要更新的内容。(3)Deactivate事件:窗体失去焦点时被引发。(4)FormClosing事件:在关闭窗体时发生。如果此时不想关闭窗体,可以将传递给事件处理程序的FormClosingEventArgs参数的Cancel属性设置为true。(5)FormClosed事件:关闭窗体后发生。

2024/8/1615【例】测试窗体属性、方法、事件 当用户单击“显示新窗体”按钮时,在指定位置显示一个新的窗体,并且窗体的边框为固定边框,不能改变窗体的大小,窗体上显示该窗体的坐标和该窗体是新生成的第几个窗体;单击“隐藏窗体”按钮时,窗体被隐藏起来;单击窗体的“关闭”按钮时,会弹出一个对话框,询问用户是否关闭窗体,如果用户选择“取消”,则不关闭窗体。文本控件

编写显示窗体按钮事件关闭窗体弹出消息框2024/8/1616publicpartialclassForm1:Form{

staticintx=200; //保存新窗体的显示位置

staticinty=200; staticintcount=0; //保存创建新窗体的个数

privatevoidbutton1_Click(objectsender,EventArgse){Form1form2=newForm1(); form2.FormBorderStyle=FormBorderStyle.Fixed3D;form2.Cursor=Cursors.Hand; form2.SetDesktopLocation(x,y); form2.Visible=true; x+=30;y+=30;

this.Activate(); this.button1.Enabled=false;}2024/8/1617privatevoidForm1_Load(objectsender,EventArgse){count+=1; }

privatevoidForm1_FormClosed(objectsender,FormClosedEventArgse){count-=1;}privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse){if(MessageBox.Show("确定要关闭窗体吗?","确认",MessageBoxButtons.OKCancel)==DialogResult.Cancel)

e.Cancel=true; //取消关闭窗体

}privatevoidForm1_Activated(objectsender,EventArgse){label1.Text="新窗体的坐标("+x+","+y+")"; label2.Text="这是第"+count+"个窗体";}

privatevoidbutton2_Click(objectsender,EventArgse){

this.Hide(); }}2024/8/16182024/8/16195.2文本控件5.2.1Label控件

标签通常用于输出文本信息,但输出的信息不能编辑标签控件的属性(1)TextAlign:设置标签中文本的对齐方式。(2)AutoSize:设置控件的大小是否随标题内容的大小自动调整。(3)BorderStyle:设置边框。(4)Visible:设置标签是否可见(5)Font:获取或设置标签上显示的文字的字体2024/8/16205.2.2TextBox控件文本框控件可以输入、显示、编辑、修改文本内容。TextBox控件的属性(1)MaxLength属性:设置文本框内最多允许输入多少字符(2)ReadOnly属性:指示文本框中的内容是否允许被改变(3)MultiLine属性:指定文本框中是否允许显示和输入多行文本2024/8/1621(4)PasswordChar属性:字符类型,允许设置一个字符,用于屏蔽用户在文本框中输入的内容(5)WordWrap属性:多行文本框是否自动换行(6)ScrollBars属性:多行文本框的滚动条模式(7)Text属性:文本框中所包含的文本内容。(8)SelectedText、SelectionStart和SelectionLength:用户在文本框中选定的文本,它们只能在代码中使用。 编程移动插入点的位置:

SelectionLength=0;

SelectionStart=6;2024/8/1622TextBox控件常用事件(1)TextChanged事件:在文本框中输入新信息或在程序中改变Text属性值时,触发该事件。(2)KeyPress事件:当文本框具有焦点时,按下任意键,就会产生该事件。通常可用该事件检查输入的字符(通过KeyPress事件过程可以检测按键的ASCⅡ码值)。(3)GotFocus事件:按下Tab键或用鼠标单击该对象使它获得焦点时,触发该事件。2024/8/1623TextBox控件常用方法

(1)Select方法:选择文本框中的文本

Select(intstart,intlength);(2)Copy、Cut、Paste方法:剪贴板操作。

if(textBox1.SelectionLength==0) textBox1.Select(2,5); textBox1.Copy(); textBox2.Paste();(3)Clear方法:清空文本框内容。2024/8/1624【例】乘法运算器设计2024/8/1625//乘法运算privatevoidbutton1_Click(objectsender,System.EventArgse){floatss,ee;

ss=Convert.ToSingle(textBox1.Text);

ee=Convert.ToSingle(textBox2.Text); textBox3.Text=Convert.ToString(ss*ee);}//结束应用程序privatevoidbutton3_Click(objectsender,System.EventArgs

e){Application.Exit(); }2024/8/16265.3按钮控件1.按钮控件的常用属性(1)Text:设置按钮上的标题文字。(2)TextAlign:设置控件中标题文字对齐方式(3)BackColor属性:设置按钮控件的背景色。(4)ForeColor属性:设置按钮控件的前景色。(5)Font:设置按钮控件包含的文字的字体。(6)Image属性:设置按钮表面上的图像。2024/8/1627(7)Enabled属性:按钮当前是否可用(8)FlatStyle属性:设置按钮的样式(9)TabStop属性:按钮能否接收Tab(10)TabIndex属性:按钮在控件容器中的Tab键顺序。2024/8/1628Button控件的常用事件(1)Click事件:单击按钮(2)MouseDown事件:鼠标位于按钮上并按下鼠标按钮时,触发MouseDown事件(3)MouseUp事件:释放鼠标按钮时,触发MouseUp事件。注意:命令按钮不支持DblClick事件。2024/8/1629[例]改变标签字体、颜色、边框2024/8/1630//改变文本字体privatevoidbutton1_Click(objectsender,EventArgse){label1.Font=newFont("黑体",15); }//改变文本颜色privatevoidbutton2_Click(objectsender,EventArgse){label1.ForeColor=Color.Blue;}//改变标签边框privatevoidbutton3_Click(objectsender,EventArgse){label1.BorderStyle=BorderStyle.Fixed3D;}//隐藏/显示标签privatevoidbutton4_Click(objectsender,EventArgse){if(button4.Text=="隐藏标签"){label1.Visible=false;button4.Text="显示标签";}else{label1.Visible=true;button4.Text="隐藏标签";}}2024/8/16315.4列表选择控件5.4.1ListBox控件列表框显示一个固定项目列表供用户选择ListBox控件常用属性(1)SelectionMode属性:列表项选择方式。取值于Selection枚举。(2)MultiColumn属性:指示列表框是否支持多列显示。(3)Text属性:列表框中当前选定项的文本。是一个只读属性,只可以在程序中引用。(4)Sorted属性:指示列表框中的列表项是否按字母顺序排序。2024/8/1632(5)Items属性:是一个集合,存储列表框中的所有项。索引从0开始。例如,listBox1.Items[2],获取集合中的第3项。

listBox1.Items.count获取集合中的项目总数。 属性窗口中,填充列表框的列表项的步骤:2024/8/1633(6)SelectedItem属性:获取或设置列表框中的当前选定项。只能在程序中使用该属性(7)SelectedIndex属性:获取当前选定项的索引。若没选定任何项,则SelectedIndex的值为-1。 listBox1.Items[listBox1.SelectedIndex](8)SelectedItems属性:当列表框允许多选时,此属性返回一个集合,该集合包含列表框中选定的所有项。(9)SelectedIndices属性:当列表框允许多选时,此属性返回一个集合,该集合包含列表框中选定的所有项的索引。2024/8/1634ListBox控件常用方法(1)SetSelected方法:对列表项进行选择或取消。SetSelected(int

index,boolvalue)(2)Item.Add方法:向列表框添加列表项。Add(Objectitem)(3)Item.Remove方法:从列表框中删除项。Remove(Objectvalue)2024/8/1635(4)Item.RemoveAt方法:从列表框中删除项。voidRemove(intindex)(5)Item.Clear方法:删除列表框中的所有项。(6)Item.Insert方法:向列表框中插入项。Insert(int

index,Objectitem)(7)FindString方法:在列表框中搜索包含特定搜索字符串的第一项。

FindString(strings,int

startIndex)ListBox控件常用事件

SelectedIndexChanged

事件:选择不同选项时引发此事件。2024/8/1636[例]测试列表框2024/8/1637//当选择“多列显示”单选按钮时,列表框被设为多列显示privatevoidradioButton6_Click(objectsender,System.EventArgse){ if(radioButton6.Checked==true)listBox1.MultiColumn=true;}//当选择“单列显示”单选按钮时,列表框被设为单列显示privatevoidradioButton5_Click(objectsender,System.EventArgse){ if(radioButton5.Checked==true)listBox1.MultiColumn=false;}//当选择“简单多选”单选按钮时,列表框就变成了简单多选方式。privatevoidradioButton3_CheckedChanged(objectsender,System.EventArgse){ if(radioButton3.Checked==true) listBox1.SelectionMode=SelectionMode.MultiSimple;}//选择列表框中的项,会在列表框下方的静态文本标签中显示所选项的内容privatevoidlistBox1_SelectedIndexChanged(objectsender,System.EventArgse){ label1.Text=""; //如果是单选,则使用SelectedItem返回所选项

if(listBox1.SelectedIndices.Count==1) label1.Text=listBox1.SelectedItem.ToString(); else{ //如果是多选,则使用SelectedItems返回所有的所选项

for(inti=0;i<listBox1.SelectedIndices.Count;i++) label1.Text+=listBox1.SelectedItems[i].ToString()+"";}}

2024/8/16385.4.2ComboBox控件2024/8/1639ComboBox控件常用属性(1)SelectedText属性:获取或设置组合框的文本框内所选定的文本。如果DropDownStyle属性设置为DropDownList,则该属性值是空字符串。(2)MaxDropDownItems

属性:获取或设置要在组合框的下拉部分中显示的最大项数。取值介于1和100之间。2024/8/1640(3)DropDownStyle属性:获取或设置组合框的样式。ComboBox控件常用事件(1)DropDown事件:单击下拉箭头时发生。(2)DropDownClosed

事件:组合框的下拉部分不再可见时发生。例子:选择水果

事件与方法定时控件2024/8/1641[例]测试组合框2024/8/1642//在窗体的Load事件处理过程中,初始化列表框和组合框privatevoidForm1_Load(objectsender,EventArgse){comboBox1.DropDownStyle=ComboBoxStyle.Simple; comboBox1.Items.Clear();listBox1.Items.Clear(); comboBox1.Items.Add("VisualC#.NET程序设计"); comboBox1.Items.Add("VisualC#.NET程序设计习题解析"); comboBox1.Items.Add("VisualBasic.NET编程百例"); comboBox1.Items.Add("VisualC++.NET案例精解"); }//把书籍列表中的项移动到顾客选择中

privatevoidbutton1_Click(objectsender,EventArgse){if(comboBox1.Items.Count>0){listBox1.Items.Add(comboBox1.SelectedItem);comboBox1.Items.Remove(comboBox1.SelectedItem);}}//把顾客选择中的项移动到书籍列表中privatevoidbutton2_Click(objectsender,EventArgse){if(listBox1.Items.Count>0){comboBox1.Items.Add(listBox1.SelectedItem);listBox1.Items.Remove(listBox1.SelectedItem);}}2024/8/16435.5选择控件5.5.1RadioButton控件

常用属性(1)Text属性:设置控件的标题文字。(2)TextAlign属性:设置控件中标题文字的对齐方式。(3)CheckAlign

属性:设置控件中的单选按钮在控件中的位置。(4)FlatStyle属性:设置按钮的样式。(5)Checked属性:单选按钮是否被选中。2024/8/1644RadioButton控件的常用事件Click事件:当用户单击按钮时,将触发Click事件。CheckedChanged

事件:当Checked属性值更改时,将触发CheckedChanged事件。2024/8/1645GroupBox控件用于为其他控件提供可识别的分组。它是容器控件。常用属性(1)Text属性:设置控件的标题文字。(2)Visible属性:设置控件是否可见2024/8/1646[例]单选按钮和分组框的应用。

2024/8/1647//“确定”按钮单击事件privatevoidbutton1_Click(objectsender,System.EventArgse){ if(radioButton1.Checked==true) textBox1.Font=newFont("宋体",textBox1.Font.Size); if(radioButton2.Checked==true) textBox1.Font=newFont("隶书",textBox1.Font.Size); if(radioButton3.Checked==true) textBox1.Font=newFont("幼圆",textBox1.Font.Size); if(radioButton4.Checked==true) textBox1.ForeColor=Color.Red; if(radioButton5.Checked==true) textBox1.ForeColor=Color.Green; if(radioButton6.Checked==true) textBox1.ForeColor=Color.Blue; if(radioButton7.Checked==true) textBox1.Font=newFont(textBox1.Font.FontFamily,12); if(radioButton8.Checked==true) textBox1.Font=newFont(textBox1.Font.FontFamily,16); if(radioButton9.Checked==true) textBox1.Font=newFont(textBox1.Font.FontFamily,18); textBox1.Text="欢迎学习C#.NET";}2024/8/16485.5.2CheckBox控件CheckBox控件的常用属性

(1)Text属性:设置控件的标题文字。(2)TextAlign属性:控件中标题文字对齐方式(3)BackColor属性:设置控件的背景色。(4)ForeColor属性:设置控件的前景色。(5)Font属性:设置控件包含的文字的字体。(6)Visible属性:设置复选框控件是否可见。(7)Checked属性:复选框按钮是否被选中。2024/8/1649CheckBox控件的常用事件(1)Click事件:单击复选框时,被触发(2)CheckedChanged:点击复选框时被触发[例]复选框的应用

2024/8/1650//复选框checkBox1的CheckedChanged事件响应过程privatevoidcheckBox1_CheckedChanged(objectsender,System.EventArgse){ if(checkBox1.Checked==true) textBox1.Text=checkBox1.Text; else textBox1.Text=""; }2024/8/16515.6图形显示控件PictureBox控件又称为图片框。可加载到控件上的图像文件格式有:位图文件(.Bmp)、图标文件(.ICO)、图元文件(.wmf)、.JPEG和.GIF文件1.PictureBox控件常用的属性(1)Image属性:设置控件显示的图像。(2)ImageLocation

属性:获取或设置要在图片框中显示的图像的路径。

2024/8/16522.PictureBox控件常用的方法(1)Load方法:加载图像到图片框中。

voidLoad(stringurl)(2)CreateGraphics

方法:为控件创建一个Graphics对象。3.PictureBox控件常用的事件(1)Click事件:单击PictureBox控件时发生。(2)LoadCompleted事件:在异步图像加载操作完成、取消或引发异常时发生。(3)LocationChanged事件:在Location属性值更改后发生。2024/8/16535.7定时控件定时控件(Timer)也称定时器或计时器,是按一定时间间隔周期性地自动触发事件的控件。1.定时器常用属性(1)Enabled属性:是否启用计时器。(2)Interval属性:设置定时间隔(以毫秒为单位)。2.定时器常用方法(1)Start方法:启动定时器。(2)Stop方法:停止定时器。3.定时器常用事件Tick事件:在间隔了一个Interval时间后所触发的事件。演员表例子2024/8/1654[例]

设计动画privateintx1=0,y1=0; privatevoidForm1_Load(objectsender,System.EventArgse){ this.timer1.Enabled=true; this.timer1.Interval=100; }2024/8/1655//定时器控件的Tick事件privatevoidtimer1_Tick(objectsender,System.EventArgse){ x1+=1;y1+=1; if(x1+10>=700) x1=0; if(y1+10>=500) y1=0; Pointnewxy=newPoint(x1,y1);

this.DesktopLocation=newxy; }

//PictureBox控件的单击事件privatevoidpictureBox1_Click(objectsender,System.EventArgse){

Application.Exit(); }

2024/8/16565.8鼠标和键盘事件5.8.1鼠标事件1.Click与DoubleClick鼠标事件

privatevoid控件或窗体名_Click(objectsender,System.EventArgse){ 事件处理过程代码 } 鼠标单击事件与事件处理过程的关联:

button1.Click+=new EventHandler(button1_Click);

2024/8/1657事件名称事件的意义Click鼠标单击时触发的事件DoubleClick鼠标双击时触发的事件MouseUp鼠标按键抬起时触发的事件MouseDown鼠标按键按下时触发的事件MouseEnter鼠标进入控件的可见部分时触发的事件MouseLeave鼠标离开控件的可见部分时触发的事件MouseHover当鼠标在控件上方静止一段时间后触发的事件MouseMove鼠标滑过控件时触发的事件MouseCaptureChange鼠标捕获更改后触发的事件2024/8/16582.MouseDown、MouseUp、MouseMove事件参数类型为MouseEventArgs。它提供了属性:(1)Button:指示按下的是哪个鼠标按钮。(2)Location和X、Y:鼠标指针的当前坐标位置(3)Clicks:按下并释放鼠标按钮的次数。3.MouseEnter、MouseLeave、MouseHover鼠标事件例子2024/8/1659[例]

鼠标事件当鼠标移到或离开按钮时,改变按钮的背景色和鼠标指针形状。

//鼠标指针进入button1的事件privatevoidbutton1_MouseEnter(objectsender,EventArgse){button1.BackColor=Color.Blue; button1.Cursor=Cursors.Hand;} //鼠标指针离开button1的事件privatevoidbutton1_MouseLeave(objectsender,EventArgse){button1.BackColor=Color.DarkGreen; button1.Cursor=Cursors.Default; button1.Text="MouseLeave";}2024/8/1660//鼠标指针在窗体上的移动事件voidForm1_MouseMove(objectsender,MouseEventArgse){

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论