C程序设计WinForm初步.pptx
《C程序设计WinForm初步.pptx》由会员分享,可在线阅读,更多相关《C程序设计WinForm初步.pptx(221页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C#C#程序设计程序设计第七章第七章 WinFormWinForm初步初步内容提要7.77.7高级控件高级控件7.87.8comcom组件组件7.97.9mdimdi7.107.10 问与答问与答7.11 7.11 思考与练习思考与练习7.12 7.12 实战任务实战任务7.17.1窗体窗体7.27.2控件使用控件使用7.37.3基本控件基本控件7.47.4常用组件常用组件7.57.5菜单菜单7.67.6对话框对话框本章重难点常用控件的属性和方法常用控件的属性和方法常用组件(常用组件(TimerTimer)菜单的使用菜单的使用对话框的使用对话框的使用高级控件的使用(高级控件的使用(richte
2、xtboxrichtextbox)MDIMDI(菜单合并)(菜单合并)WinForm编程初试计算1+1=2步骤1、新建Windows Form Application2、从左边控件箱中拖动3个TextBox控件、1个Label控件和1个Button控件到窗体上3、在窗体空白处点右键选择“属性”,设置Text属性为”简易加法器”4、在Label控件上点击右键选择“属性”,设置其Text属性为”+”5、在Button控件上点击右键选择“属性”,设置其Text属性为”=”步骤6、双击“=”按钮,为按钮添加“单击事件”处理代码:int a,b,c;a=int.Parse(textBox1.Text);
3、b=int.Parse(textBox2.Text);c=a+b;textBox3.Text=c.ToString();7、点击运行按钮 启动程序,输入两个数,点击“等号”按钮Windows窗口编程概要程序由窗体及在窗体上的控件组成控件由属性和事件组成,属性控制其外观、特性、风格等代码的执行由事件驱动,当用户执行某个操作时,将会触发该控件的某个事件(例如单击按钮会触发其Click事件,移动鼠标会产生MouseMove事件),相应的,该事件的处理函数的代码将会被执行每个控件都会响应一些不同的事件,例如,单击Button控件将触发按钮的Click事件Windows窗口编程概要WinForm编程主要
4、就是决定处理控件的哪些事件,然后编写事件的处理代码处理代码主要做:读取控件的不同属性获取用户在该控件上的输入或选择,然后处理,将计算结果显示在控件上,或通过控件反映(设置控件的属性或调用其方法),仍然是输入,处理,输出的一个过程在窗体设计器中双击某个控件可进入其常用事件处理代码编辑界面7.1窗体窗体由类封装窗体是WinForm应用开发中最基本的一个容器控件,和其它诸多普通控件一样,都继承于控件基类,故所有的控件都具有一些共有的特性。7.1窗体常用属性7.1窗体常用属性7.1窗体常用属性7.1窗体常用方法7.1 窗体常用事件7.1 窗体常用事件7.1 鼠标事件参数MouseEventArgsCl
5、ick与MouseClick事件很类似,但是MouseClikc事件的参数附带了更多的鼠标按键信息。MouseClick仅能通过鼠标操作触发,而Click事件则不受此限。7.2 控件使用控件添加双击“工具箱”中要使用的控件,此时将会在窗体的默认位置(客户区的左上角)添加默认大小的控件;在“工具箱”中选中一个控件,鼠标指针变成与该控件对应的形状;把鼠标指针移到窗体中要摆放控件的位置,按下鼠标左键并拖动鼠标画出控件大小后,松开鼠标即可在窗体的指定位置绘制指定大小的控件;直接把控件从“工具箱”拖放到窗体中,控件为默认大小;直接使用代码控制添加。7.2 控件使用控件调整选中要调整的控件,使用“格式”菜
6、单或是快捷菜单中的命令或者工具栏上的格式按钮进行调整。在调整控件的格式时,将按照基准控件对选择的多个控件进行调整。使用Ctrl键或Shift键选择多个控件,也可以拖动鼠标选择一个控件范围,此时最先进入窗体的控件将作为调整的基准控件。被选中的控件中,基准控件周围是白色方框,其他控件周围是黑色方框。7.2 控件使用控件分层右键单击要操作的控件,从快捷菜单中选择“置于顶层(或底层)”命令或者单击工具栏中的置于顶层(或底层)按钮,则可以把控件置于窗体的最顶层(或底层)。在代码中将控件置于窗体顶层或底层。7.2 控件使用控件定位在窗体设计器中通过拖动控件进行定位在选中控件之后可以使用箭头键微调,更精确地
7、定位控件通过指定控件的Location属性来定位控件;既可以手工指定,也可以代码指定7.2 控件使用控件大小使用鼠标直接拖动控件大小在窗体中选中控件,然后使用Shift+箭头键来微调控件大小在属性窗口中改变控件的Size属性值通过代码来调整Size属性值通过代码来调整Bounds属性值7.2 控件使用控件锚定-Anchor属性Anchor属性用来确定此控件与其容器控件的固定关系的。Anchor属性,可以设定Top、Bottom、Right、Left中的任意几种。使用Anchor属性使控件的位置相对于窗体某一边固定。7.2控件Anchor属性例如下图是按钮Anchor取值为None时,窗口默认和
8、大小改变后的情形7.2控件Anchor属性下图是按钮Anchor取值为Top,Bottom,Left,Right,窗口为改变大小和放大后的情形7.2 控件Dock属性控件停靠-Dock属性获取或设置控件停靠到父容器的哪一个边缘。例如下图分别是取值为none(默认)和left的情况7.2 控件Dock属性下图分别是取值为bottom和fill的情况fill表示填充满父容器7.2 控件Dock属性下图是文本框控件TextBox的Dock取值为fill的情况(Multiline属性设置为true)7.2 控件使用控件的Tab键顺序控件的Tab键顺序决定了用户使用Tab键切换时的顺序。默认情况下,控件
9、的Tab键顺序就是控件添加到窗体中的顺序。7.2 控件使用键盘事件处理两类:第一类是KeyPress事件,当按下的键表示的是一个ASCII字符时就会触发这类事件,可通过它的KeyPressEventArgs类型参数的属性KeyChar来确定按下键的ASCII码。使用KeyPress事件无法判断是否按下了修改键(例如Shift,Alt和Ctrl键);第二类是KeyUp或KeyDown事件,该类事件有一个KeyEventArgs类型的参数,通过该参数可以测试是否按下了一些修改键、功能键等特殊按键信息。7.2 控件使用KeyPressEventArgs类的主要属性(KeyPress事件的参数类型)H
10、andled:用来获取或设置一个值,该值指示是否处理过KeyPress事件KeyChar:用来获取按下的键对应的字符,通常是该键的ASCII码7.2控件使用KeyEventArgs类的主要属性(KeyUp和 KeyDown事件的参数类型)Alt:用来获取一个值,该值指示是否曾按下Alt键Control:用来获取一个值,该值指示是否曾按下Ctrl键Handled:用来获取或设置一个值,该值指示是否处理过此事件KeyCode:以Keys枚举型值返回键盘键的键码,该属性不包含修改键(Alt、Control和Shift键)信息,用于测试指定的键盘键KeyData:以Keys枚举类型值返回键盘键的键码,
11、并包含修改键信息,用于判断关于按下键盘键的所有信息KeyValue:以整数形式返回键码,而不是Keys枚举类型值。用于获得所按下键盘键的数字表示Modifiers:以Keys枚举类型值返回所有按下的修改键(Alt、Control和Shift键),仅用于判断修改键信息Shift:用来获取一个值,该值指示是否曾按下Shift键7.2控件使用鼠标事件处理MouseEnter:在鼠标指针进入控件时发生。MouseMove:在鼠标指针移到控件上时发生。事件处理程序接收一个MouseEventArgs类型的参数,该参数的主要属性及其含义如下。Button:用来获取按下的是哪个鼠标按钮。该属性是MouseB
12、uttons枚举型的值,取值及含义如下:Left(按下鼠标左按钮)、Middle(按下鼠标中按钮)、Right(鼠标右按钮)、None(没有按下鼠标按钮)Clicks:用来获取按下并释放鼠标按钮的次数Delta:用来获取鼠标轮已转动的制动器数的有符号计数。制动器是鼠标轮的一个凹口X:用来获取鼠标所在位置的x坐标Y:用来获取鼠标所在位置的y坐标7.2控件使用鼠标事件处理MouseHover:当鼠标指针悬停在控件上时将发生该事件MouseDown:当鼠标指针位于控件上并按下鼠标键时将发生该事件。MouseWheel:在移动鼠标轮并且控件有焦点时将发生该事件。MouseUp:当鼠标指针在控件上并释放
13、鼠标键时将发生该事件。MouseLeave:在鼠标指针离开控件时将发生该事件7.2 控件事件处理双击控件,可处理该控件的常用事件双击不同的控件,默认处理的事件是不同的如:Button 默认处理 Click 事件TextBox 默认处理 TextChanged 事件Form 默认处理 FromLoad 事件鼠标、键盘事件处理举例1.新建WinForm应用2.在窗体上拖入一个Label控件,将其Text属性设置为“愚人节快乐!”,自行设置字体大小颜色等,将其Visible属性设置为false3.单击窗体空白处选中窗体,在属性窗口切换到事件界面,在KeyDown事件后面双击处理该事件,然后输入后面的
14、代码;同样的方法处理MouseEnter和MouseLeave事件鼠标、键盘事件处理举例private void Form1_KeyDown(object sender,KeyEventArgs e)if(e.Control&e.Alt&e.Shift&(e.KeyCode=Keys.A)label1.Visible=true;else label1.Visible=false;private void Form1_MouseEnter(object sender,EventArgs e)Random rd=new Random();this.BackColor=Color.FromArgb(
15、rd.Next(0,256),rd.Next(0,256),rd.Next(0,256);private void Form1_MouseLeave(object sender,EventArgs e)this.BackColor=Color.FromKnownColor(KnownColor.WindowFrame);限制文本框只能输入数字/处理TextBox的 KeyPress 事件private void textBox1_KeyPress(object sender,KeyPressEventArgs e)if(!(e.KeyChar=0&e.KeyChar 0&!s.Contains
16、()MessageBox.Show(您输入的邮件地址有误,请重试!);e.Cancel=true;TextBox通常处理其TextChanged事件可实时处理用户的每个字符输入private void textBox1_TextChanged(object sender,EventArgs e)textBox2.Text=textBox1.Text;7.3 基本控件ListBoxListBox 常用属性:Items:保存列表框中显示的项,通过这个属性访问项或对这些项进行操作Itemsi:返回第i个项,类型为objectSelectionMode:指定列表框中项的选择方式,默认情况下列表框一次只
17、能选择一项。取值如下:MultiExtended:允许一次选择多项并使用Shift和Ctrl键来实现扩展选择MultiSimple:允许一次选择多项,但只能通过单击或空格来选择None:不能在列表框中选择One:一次只选择一项(默认)Text:返回当前选定项的文本。该属性用来获取或搜索列表框中当前选定项的文本。7.3 基本控件ListBoxListBox 常用属性:获取所选项的索引SelectedIndex:用来获取或设置ListBox控件中当前选定项的从零开始的索引。如果未选定任何项,则返回-1。对于只能选择一项的ListBox控件,可使用此属性确定列表框中选定的项的索引。若列表框的 Sel
18、ectionMode 属性设置为 SelectionMode.MultiSimple 或 SelectionMode.MultiExtended,并在该列表中选定多项,此时该属性只能获得所有被选项中的第一个项SelectedIndices:在列表框允许选择多项时用来获取当前所有选定项的索引集,这是一个SelectedIndexCollection类实例SelectedIndicesi:被选中的第i个项的索引SelectedIndices.Count:被选中索引集的个数7.3 基本控件ListBoxListBox 常用属性:获取所选项SelectedItem:在列表框只允许选择一项时用来获取当前
19、所选择项SelectedItems:在列表框允许选择多项时用来获取当前选择的多个项的集合,这是一个SelectedObjectCollection类实例SelectedItems.Count:返回选中个数SelectedItemsi:被选中的第i个项7.3 基本控件ListBoxListBox常用方法Items.Add:向列表框的底部增添一个列表项,调用格式:listBox1.Items.Add(s):把参数s添加到列表框中Items.AddRange:将一个数组添加到列表框,调用格式listBox1.Items.Add(array);每个数组元素作为一个项Items.Insert:在列表框中
20、指定位置插入一个列表项,调用格式:ListBox对象.Items.Insert(n,s):参数n代表要插入的项的位置索引,索引不能小于0,不能大于当前项目数;参数 s代表要插入的项,其功能是把s插入到listBox控件指定的列表框的索引为n的位置处。但是需要注意的是:在Sorted属性为true时,Insert方法插入的项不能被正确排序。Items.Remove方法:删除指定项,调用格式:Remove(item);Items.RemoveAt方法:删除指定索引的项,调用格式:listBox1.Items.RemoveAt(index);参数为索引7.3 基本控件ListBox常用方法Items
21、.Clear:清除列表框中的所有项。调用格式:listBox1.Items.Clear();SetSelected:用来选中某一项或取消对某一项的选择,调用格式:ListBox1.SetSelected(n,b):如果参数 b 的值是 true,则在列表框中选中索引为 n 的列表项,如果参数b 的值是 false,则索引为n 的列表项未被选中。GetSelected:返回一个值,该值表明是否选定了指定的项FindString:查找以指定字符串开头的项,找到则返回该项的索引值,否则返回ListBox.NoMatchesFindStringExact:精确查找内容等于指定字符串的项,找到则返回该项
22、的索引值,否则返回ListBox.NoMatches7.3 基本控件ListBox 大批量更新数据方法:listBox1.BeginUpdate()/插入删除等listBox1.EndUpdate()可防止闪烁7.3 基本控件ListBox控件常用事件有ClickDoubleClickSelectedIndexChangedListBox举例ListBox举例/多个列表项目的删除private void btnDel_Click(object sender,EventArgs e)/for(int i=0;i listBox1.SelectedItems.Count;i+)/listBox1.
23、Items.Remove(listBox1.SelectedItemsi);/是否可行?/for(int i=0;i 0)listBox1.Items.Remove(listBox1.SelectedItems0);ListBox举例/多个列表项目的上移private void btnMoveUp_Click(object sender,EventArgs e)int n=listBox1.SelectedIndex;if(n 0)foreach(int i in listBox1.SelectedIndices)listBox1.Items.Insert(i-1,listBox1.Items
24、i);listBox1.Items.RemoveAt(i+1);listBox1.SetSelected(i-1,true);7.3 基本控件ComboBoxComboBox ComboBox:即组合框,由一个文本框和一个下拉列表组成可以在文本框中直接输入也可以从下拉列表中选择其中的某一个选项,不能多选(故它无SelectionMode属性)对于只选一个选项的场合,ComboBox控件的优势在于占用空间少。ComboBox究竟是否能够接受用户输入,这取决于设置。ComboBox的显示风格也可以设置,这是通过DropDownStyle属性来实现。7.3 基本控件ComboBoxComboBox
25、ComboBox 常用属性:ComboBox ComboBox 常用属性:(1 1)DropDownStyleDropDownStyle属性该属性用于设置组合框的样式。有3种可选值:SimpleSimple:上面为一个TextBox,下面为一个ListBox,二者组合,可以输入。DropDownDropDown:具有下拉列表框,可以选择,也可以直接输入选择项中不存在的文本。该值是默认值。DropDownListDropDownList:具有下拉列表框,只能选择已有可选项中的值,不能输入其他的文本。ComboBoxComboBox常用属性(2 2)MaxDropDownItemsMaxDropD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 WinForm 初步
限制150内