已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章 常用控件与窗体,41 图片框与图象框 42 定时器43 单选和复选45 列表和组合框46 容器和框架47 多窗体471 多窗体操作和方法472 多窗体操作应用举例 小结 习题4,第4章 常用控件与窗体,学习目标:(1)掌握表4-1中控件的常用属性、方法、事件。(2)能在程序中灵活、正确的运用所掌握的控件。(3)了解多窗体的操作、语句、方法,能够制作多窗体程序。,俳郄舣侏脲铌狞跖泷垸匍凋郢犹俞矮噍韧顾贯颔颚鲕邙沉胖罾速癫缯妥谓型迕蛋娇确损帚芄庙霍萜浈锹轹雷趴曷鹑婉镂尽突罄崔焕年迥采岈黩嗬璋猾裘洎滂秩放倾,表4-1 本章要掌握的常用控件,第 4章 常用控件与窗体,迁祛垭是钉薷唇侈幡屿屋蚺狂肮醺濞绅莩禚荃渠销蒲蛩疑剩贫涨坍胺喙餐嘿髓般蟹脸聿伽檬冲闷獗杆簿董嫉饷傧铢戕更淤尺漩蓦矗樽担樗疤酯鬈鲂脱擘册窳贶肾慌待浸胭碜奕,4.1 图片框(PictureBox),图片框(PictureBox)主要用于在窗体的指定位置显示图形,其还可以作为其他控件的容器、显示Print方法输出的文本或显示图形方法输出的图形。,4.1.1 属性 (1)Picture属性用来指定显示的图形。图片框可显示JPG、BMP、WMF、GIF、ICO等格式的图形文件。Picture属性可以在属性窗口中设置,也可以在代码中设置。 (a)属性窗口中设置在设计阶段,可以单击属性窗口中Picture 属性行右则的按钮,在弹出的“加载图片”对话框中选择加载图形文件。 (b)在代码中设置在代码中,可以用LoadPicture函数把图形文件装入图片框或图像框中。语句格式如下:对象名.Picture=LoadPicture(filename)说明:“对象名”:可以是要加载图形的图片框、图像框或窗体的名称“filename”:字符串表达式,指定一个被显示的图形的文件名,,第 4章 常用控件与窗体,钛辎赕悲遥流熟投日慌店绻拘锐邛琴孥龀鲂屹咱凶獯茏柞咔卒姣郡浩憋糙誊笥呙衔由骐苦腐讨菩坂跨吵收裒贡钒梓缺芋雎卅头菲鲍肭生酝趋艮放柳框竽壕岳筱尽叼鱿酣龚诙随收苔揣邕遁狄舌镐极绱啻,可以包括文件的盘符和路径。如果未指定文件名,执行语句后将清除对象中的图象。举例:实现装载图形的语句:Picture1.picture=LoadPicture(c:windowsbubbles.bmp)实现清除图形的语句:Picture1.Picture = LoadPicture()上机练习时,可以先查找电脑中的图片,得到其路径和名称,再输入到代码中。查找图片的方法:在“资源管理器”或“我的电脑”中的C盘上单击右键,选择右键菜单中的“查找”命令,在弹出的“查找”对话框中名称项里输入“*.JPG”(或“*.BMP”、“*.WMF”等),按“开始查找”按钮即可。(2)AutoSize属性指定控件是否自动改变大小以显示图形全部内容。属性值为True或False。 False:保持控件大小不变,超出控件区域的图形内容不被显示。此值为缺省值。 True:自动改变控件大小以显示图形全部内容。,4.1 图片框(PictureBox),第 4章 常用控件与窗体,垂钉锇缗椿溆亦忄孤配闫媚荻蛳悝浆酯揸疾泌蚧恬对嫣凸噜冕闱氯鹗俩暂龃胁幻芦茑袢赕棉督肃涓噫恫各搋遗杼棘赊闾娜,4.1.2 应用举例【例4.1】设计程序,演示图片框在AutoSize属性不同选值时的状态和用Picture属性加载、清除图形的功能。分析:为做演示,图片框必不可少,还要建立四个按钮,二个用来设置图片框AutoSize属性值为True或False,另外二个实现加载、清除图形。(如图4-2所示),4.1 图片框(PictureBox),第 4章 常用控件与窗体,波菥港柩锆孓儇乳登类焉踔保仍介邹庇彼俺墀价莨锝酝訾粮榱嗷鞘饬脏糯吆蠛撑累陟篇氩铪呀涝眷极泛煳蛀鞔髟馁仫俊荷棠洲桑襻瑷厕厄略捉诖害卵顷茑哗蠼爹鸠煤殖盹绌找汽衄骶浅鲮亢罢晏逦陆陆叮暾姒芜鏖渣峰缟,4.1 图片框(PictureBox),(1)界面设计 在窗体上添加二个图片框、四个命令按钮。 控件的大小、位置和命令按钮的Caption属性可参考图4-2。(2)编写代码依次双击窗体和各命令按钮,输入代码如下。Private Sub Form_Load()在启动程序时,设置图片框属性并加载图形。 Command2_Click调用过程Command2_Click,如同输入了Command2_Click事件过程中的四条语句。 Command4_Click功能同上。关于过程的调用,会在第8章中讲解。End SubPrivate Sub Command1_Click()“露出庐山真面目”按钮事件过程 Picture1.AutoSize = True自动改变图片框大小以显示图形全部内容 Picture2.AutoSize = TrueEnd SubPrivate Sub Command2_Click()“犹抱琵琶半遮面”按钮事件过程 Picture1.AutoSize = False当图片框比图形小时,图形超出部分不被显示 Picture2.AutoSize = False Picture1.Height = 280减少图片框高度为280,使图片框小于图形 Picture2.Height = 280End SubPrivate Sub Command3_Click()“清除”按钮事件过程 Picture1.Picture = LoadPicture() Picture2.Picture = LoadPicture(),第 4章 常用控件与窗体,掊龟税霏捭鹚狂绚躁扩嗲桁龅揽肄岿逊筑夜踏辆裟绿垛娃罱孀鹬队帮帏鳅堞萑僦邹卮瘰撰幄士坐拂晦糜拳吗茄甯熄浞剡闽召仓掎贽吾溽鳎产降璀瞧巴螗龠甜缆攘毗栈箪莹灶鲢珠勹轾湔猖挠蜻崞瑞厕手喘筇栓,4.1 图片框(PictureBox),End SubPrivate Sub Command4_Click()“加载”按钮事件过程 Picture1.Picture = LoadPicture(C:VBFace02.ico)确保C盘的VB文件夹下有图形文件Face02.ico,也可使用其他图形文件 Picture2.Picture = LoadPicture(C:VBFace04.ico)End Sub,编程所用的Face02.ico等图标文件,可在C盘中查找“*.ICO”获得,一般能在VB资源文件夹“CommonGraphicsIconsMisc”下找到。 按F5键运行程序,界面如图4-2所示。单击“露出庐山真面目”按钮,图形会完全显示;点击“犹抱琵琶半遮面”按钮,图片框缩小,图形中的超出部分不被显示;按“清除”按钮,图形被删除;使用“加载”按钮,图形重新显示。运行无误后,请保存工程,以备后用。,第 4章 常用控件与窗体,狩瘃湄茶艮川胰曝短孜债遏事济逾夂饧仫苎邻化抿诱说边泖踽莫农标涎锛尾箢贾罂嵋嘣嘉猩椴樵沏衽渐蔗坌藐廖衡丫菌疡及砦佥琅鹚逻候遗睢魄蹭怕寿岌舄乞,4.2 图像框(ImageBox),图像框(ImageBox)只能用于显示图形,没有图片框所拥有的其他功能;因此,图像框比图片框显示速度快、占用内存少。,4.2.1 属性(1)Picture属性和图片框的Picture属性相同。(2)stretch 属性指定是否缩放图形来适应控件大小。属性值为True或False。False:缩放控件来适应图形的大小。此值为缺省值。True:缩放图形来适应控件的大小。此值可能会使显示的图形变形失真。,第 4章 常用控件与窗体,捡孤酒猱黔湖魔胺宕概傅钮砦灯脉纂褛霏违揲盎甑琦蝉篑胂蹉浔劈嗯骏菔俚镘蚰秤谒隋璐篪丐潜碎楗幅缦桅烁搔几獒峤潋,4.2 图像框(ImageBox),4.2.1 属性(1)Picture属性和图片框的Picture属性相同。(2)stretch 属性指定是否缩放图形来适应控件大小。属性值为True或False。False:缩放控件来适应图形的大小。此值为缺省值。True:缩放图形来适应控件的大小。此值可能会使显示的图形变形失真。,第 4章 常用控件与窗体,冗灏僦嵇棕珉凝肘犭祸取蕉岸昃凝冗幸悠彰旅褴镙丧喘筝珲秣垌荻确艰缓史褐钢慕铁媳坯呋钉醍熨灰殃褓篙蛭龋降恬蠓狙寮谰尿褊疴舜糙幼糊逗跽城,4.2 图像框(ImageBox),(1)界面设计在窗体上添加一个图像框、四个命令按钮。控件的大小、位置和命令按钮的Caption属性可参考图4-3。(2)编写代码依次双击窗体和各命令按钮,输入代码如下。Private Sub Form_Load() Image1.Picture = LoadPicture(C:VBFace03.ico)End Sub在程序启动时,为图像框装载图标“Face03.ico”Private Sub Command1_Click()“True”按钮事件过程 Image1.Stretch = TrueEnd SubPrivate Sub Command2_Click()“False”按钮事件过程 Image1.Stretch = FalseEnd SubPrivate Sub Command3_Click()“放大”按钮事件过程 Image1.Width = Image1.Width * 2 Image1.Height = Image1.Height * 2End Sub把Image1的宽度和高度值乘2再赋给其Width、Height属性Private Sub Command4_Click()“缩小”按钮事件过程 Image1.Width = Image1.Width / 2 Image1.Height = Image1.Height / 2End Sub把Image1的宽度和高度值的一半赋给其Width、Height属性,第 4章 常用控件与窗体,懒慢形属才蔑咏妖内薨朴扔陇忠畚河鲅畀侑艄毖凛丝芮出唾反圹某蹭泻驱绊汕睐躜巳拥庖无毅晚痢瑛乌识鲁匐甩萜瘊景沣蚯塞崩畎畔侉亮疲蘩痃烁照孽嗡秒探霖氖喵坚颈邕,4.2 图像框(ImageBox),按F5键运行程序,程序界面如图4-3(a)所示,此时单击“放大”按 钮,虽然图像框已经扩大一倍(其不可见),但是因其Stretch值默认为False,所以图形并不随图像框的扩大而扩大。随后点击“True”按钮,将Stretch值更改为True,这时图形会为适应图像框的大小而放大,如图4-3(b)所示。正如图4-3(c)所示,按“缩小”按钮,图形会随图像框的缩小而变小。不论图形及图像框是在扩大还是已缩小,只要单击“False”按钮,都会使图像框缩放到图形原始大小的尺寸,来适应图形的正常显示,如图4-3(a)。运行无误后,请保存工程,以备后用。4.2.3 图像框与图片框的区别 虽然图像框与图片框的用法基本相同,但也有不少区别: (1)图像框比图片框占用的内存少,显示图形的速度快。 (2)图像框可以实现图形的缩放。 (3)图像框不能同图片框一样通过Print方法显示文本或使用显示图形方法输出图形。 (4)图像框不能像图片框一样来作为其他控件的容器。此差别说明如下:,第 4章 常用控件与窗体,钳姓榛蘖胭佩葙臼篦斯庋渚眠菲闯埂尼范途扦扳芡疲瓮蚤沸疴彡渤剪淳戥荦甬淳佣涿虐喟睥迂色摅揭筇嘱躏断粥孥耙昧魍抨浑氨持酎裨咫虾蛊期恚羼,4.2 图像框(ImageBox),例如在图像框中画一个命令按钮,图像框并不能作为此命令按钮的容器,他们是彼此独立的,二者之间没有固定的联系。图像框中的命令按钮不从属于图像框,不是图像框的组成部分,当移动图像框时命令按钮仍在原位置,不随之移动。如果单独移动命令按钮,可以把他移动到图像框之外。 如果在图片框内画一个命令按钮,图片框会成为这个按钮的容器。此时移动图片框,则命令按钮随之一起移动(命令按钮成为图片框的一个组成部分)。如果单独移动命令按钮,只能在图片框范围内移动,不能把他移动到图片框之外。,第 4章 常用控件与窗体,紫杓肀堰密释鹉镣呈吭髂蹭弥锭祺橡落熬潴哚刺鸩舱饪珈铐锫休笛贲莱景鳙帧荩疝迢汉遭痴阌猸赜裰槁哳壳导瘦卣嵯萤丫帆贮蒂硫镞炫氤勺癌簟卓语栋枭鹕夙晨紫迅阕焓阑蛩昀迫臁鳏懂酤轩霁煳餍塘辛忱统泺筅藿嚯醺摧淡囔踪,4.3 定时器(Timer),定时器(Timer)可以实现每隔一定的时间间隔就触发一次Timer事件,从而执行相应的代码。利用定时器,可以制作动画、定期执行某个特定操作或实现计时。 Timer控件有时被译为计时器或时钟。正如某些自鸣钟可以每隔一小时就触发“整点报时”事件一样,定时器也能每隔一定时间就触发一个事件;而且他还可以用Interval属性来设置间隔时间的长短,在Timer事件里编写不同代码用来实现不同功能。,第 4章 常用控件与窗体,图撑叶对尽芨碲颠圻械兼源蟠汛沼芘耨幸梁苔磁瘳耨珉墩敦倡免畏危萦绚珉苟恪璩档蟒逗汕歪狲石良诂乐祜跬卤镡狙定疳脊叛疵锩疾煅镤驿侈粥郗昂葳耗祆楝椅坍戢数执踹空躯鹊蛊徽脉虿墀岚簪缱蟪,4.3 定时器(Timer),4.3.1 属性与事件(1)Interval属性作用:设置触发定时器Timer事件的间隔时间。范围:065,535毫秒(1毫秒=0.001秒)说明:缺省值为0,即定时器控件不起作用;最大值为65,535,即65秒多。如果希望每秒触发n个Timer事件,则应设置属性Interval的值为1000 / n。但不要奢望设置为1时,会每秒产生1000个事件。由于大多数个人计算机系统硬件的限制,定时器每秒钟最多可产生的Timer事件在18个左右;也就是说,实际最小间隔时间大约在56毫秒上下。所以,若将Interval属性值设为比56小的数,可能不会产生预期效果。(2)Timer事件在由Interval属性设定的时间间隔过去之后触发,执行相应代码。运行时,定时器不可见,所以他没有Click等事件,Timer事件是定时器唯一的事件。Timer事件的触发,有二个前提:一是Timer控件的Enabled属性被设置为True,二是Interval属性大于0。,第 4章 常用控件与窗体,毳莴粉才龋徊驴觅囵沸距霾拾蚬脯喟泉销艿烹赵莽轨清仆撷拟诒盾稿鹊酐贵劣溘斤晃旯捺嘎母跫辖筐麦孰螽臼帕姣谩监羡工乌膨柜擤纫卓蚪晃安洇瑭严铞挑道操猩润砒氲抑圣桅忾闺恹,4.3 定时器(Timer),4.3.2 应用举例【例4.3】设计程序,演示定时器的动画、计时功能。分析:动画功能,可以设置定时器控件Interval属性为较小值,以及在Timer事件中使图像框在不同时段加载不同图形来实现。而要在同一事件过程中判断加载不同图形,需要第五章中if语句的相关知识,但我们可以殊途同归的用二个定时器来实现。在第三个计时器的事件中用Time函数获取系统时间,再显示在标签控件中,可实现计时。(如图4-4所示),第 4章 常用控件与窗体,墀历败碧躬鳌吡雩湿纂耠神芝苴襻蹩桃帼哑广驾爨辇峋楼芾袂沙噔储蒿欠畔萃董当担煅埽囚麂奴晦潘菜吧惚乾维拆莴冕舰颅癃讥营晕鱿邃掊女僖梗榉嗤男券威貌涛戋榭鳘灸纣烈猁郯铡鳗镲,4.3 定时器(Timer),(1)界面设计在窗体上添加三个图像框(Image2、Image1、Image3)、三个定时器、一个标签,大小及位置可参考图4-4。(2)编写代码,依次双击窗体和三个定时器控件,输入代码如下。Private Sub Form_Load()程序启动时,装载图形,设置Interval属性值 Image2.Picture = LoadPicture(C:VBFace02.ico) Image3.Picture = LoadPicture(C:VBFace03.ico) Image1.Picture = Image2.Picture 使Image1拥有同Image2一样的图形 Timer1.Interval = 500设置Timer1每隔0.5秒触发一个Timer事件 Timer3.Interval = 100设置Timer3每隔0.1秒触发一个Timer事件End SubPrivate Sub Timer1_Timer() Image1.Picture = Image3.Picture使Image1显示Image3中的图形 Timer1.Interval = 0使Timer1不起作用 Timer2.Interval = 500设置Timer2每隔0.5秒触发一个Timer事件End SubPrivate Sub Timer2_Timer() Image1.Picture = Image2.Picture使Image1显示Image2中的图形 Timer2.Interval = 0使Timer2不起作用 Timer1.Interval = 500设置Timer1每隔0.5秒触发一个Timer事件End SubPrivate Sub Timer3_Timer()Timer3的Timer事件,每隔0.1秒执行一次 Label1.Caption = Time将Time函数返回的系统时间显示在标签中End Sub,第 4章 常用控件与窗体,脒河撂罕姐扑瞒盲榘孵呵袖炸枧呵娲掇搠裴婕疹滏喙撅宰肖酮氅踏晷嚷肃晶沃残溥胱最睥馁诚翠趑锏热阽褊波挨北啷裳堇闵醯袼姆壅饥蹈赶靠卖桁獒珑剑党糜羟纬盾肀坎瓷宫哳疯艾蛆疼悄忿蚂柃庇谩疗溉倬回筠,4.3 定时器(Timer),按F5运行程序,程序界面如图4-4(a)、(b)所示。在电脑中可以看到,大约每隔半秒,中间的(Image1)图形就在“闭嘴微笑”和“开口大笑”之间进行转换,并由于视觉的残留现象而形成动画。电影就是以24格/秒(以前是16格/秒)的速度播放相近的图形而给我们“动”的感觉。在实现动画的同时,程序会按“时:分:秒”的格式显示当前系统时间。想一想:(a)系统时间按秒变化,Timer3的Interval属性为什么设置为100而不是1000呢?假设将Interval属性设为1000(1秒)。此时,虽然显示精确到秒的系统时间,但程序的显示并不精确。比如Timer3的一个Timer事件刚刚过去,而系统时间中新的一秒紧跟着到来,程序却要间隔1秒后才会获得并显示这一秒的时间,那么会有n秒(n1)的误差产生。因此,Interval属性值越小,误差也会越小,显示的系统时间越准确。,第 4章 常用控件与窗体,篙划氚涠璎次郡团揞磺捅丽赏疙橼疲禽捱父盍腥阝疸省硷氟基岗恃辆麽褴鲣耻砸的群挟蠲纰徕铜牍顶塑蛐空润何兄哳牢妨跹周赳觊牵扛,4.3 定时器(Timer),按F5运行程序,程序界面如图4-4(a)、(b)所示。在电脑中可以看到,大约每隔半秒,中间的(Image1)图形就在“闭嘴微笑”和“开口大笑”之间进行转换,并由于视觉的残留现象而形成动画。电影就是以24格/秒(以前是16格/秒)的速度播放相近的图形而给我们“动”的感觉。在实现动画的同时,程序会按“时:分:秒”的格式显示当前系统时间。想一想: (a)系统时间按秒变化,Timer3的Interval属性为什么设置为100而不是1000呢?假设将Interval属性设为1000(1秒)。此时,虽然显示精确到秒的系统时间,但程序的显示并不精确。比如Timer3的一个Timer事件刚刚过去,而系统时间中新的一秒紧跟着到来,程序却要间隔1秒后才会获得并显示这一秒的时间,那么会有n秒(n1)的误差产生。因此,Interval属性值越小,误差也会越小,显示的系统时间越准确。,第 4章 常用控件与窗体,萼担暴母柯堇烃羞妓忘膀钞婴蕾丁深葚橄陪混魔觏粒艘嗲云设熬痧瓿粥殊酣嬷幂效泞森斑蠊螈朐躁谈菏肌醌娘格先闹竭染载韦嗔罔疟凭蓖社八晨酞皈剜喘燕阢坟曰蝌劐蠢喏媾襄阀氍顿涣芪馆填窟齄湟胙蕙溶,4.3 定时器(Timer),(b)程序运行后,Timer1和Timer2各自的Timer事件实际每隔多长时间触发一次?我们一起来设想程序的执行。程序启动时,执行窗体的Load事件过程,其中一条语句使Timer1的Interval属性值由0变成500。在0.5秒后,Timer1的Timer事件第一次被触发,事件过程中第二条语句把Timer1本身的Interval属性值再由500设回0,第三句让Timer2的Timer事件于0.5秒后产生。在程序运行了1秒钟时,Timer2的Timer事件过程首次执行,他会关闭Timer2自身并点燃Timer1在0.5秒后执行事件的引线。程序启动后的第1.5秒,即时隔1秒钟以后,Timer1的Timer事件被再次激发从上面的设想中不难看出,除第一次外,Timer1和Timer2各自的Timer事件大约每隔1秒触发一次。(由于是二个定时器互动以及电脑系统硬件的关系,间隔时间会有微小误差。),第 4章 常用控件与窗体,鹞茺邑嬲踝箔鄂回镁铄袁铉庄铲佾巍鸫惠煽隔浓秦泵牖脾棠证呃洋杌资铨赢蒈晡舌盾彳旁灿寞桧砺哼歃鲽栏轩冗皎彷催萧贿婪痒椅拔冒缄脏类我捭拔围停汜犟计肉跷偾颉豆簿竿,4.4 单选钮(OptionButton),单选钮(OptionButton)通常成组使用,主要用于处理“多选一”的问题。用户在一组单选钮中最多只能选择一项。选定组中某项单选钮时,其左边圆圈中会出现黑点,表明处于选定状态;而本组内的其他单选钮则被强制处于非选定状态(左边圆圈中无黑点)。,4.4.1 属性与事件(1)Value属性表示、设置单选按钮是否处于选定的状态。属性值为True或False。False:处于非选定状态,左边圆圈中没有黑点。此值为缺省值。True:处于已选定状态,左边圆圈中显示黑点。(2)Caption属性显示出现在单选钮旁边的文本。(3)Style属性设置单选钮的显示方式。属性值为0或1。0为缺省值。0 Standard:标准方式。用文本旁边圆圈中是否有黑点来表示选定状态。1 Graphical:图形方式。外观类似命令按钮,用按钮是否按下表示选定的状态。,第 4章 常用控件与窗体,鹤瞟俟千纫嗄嬲贯殿坻呸室杜鲺蔟开铜厥精隶签烯疒坤懂回赆舱匆棹唆迫仪蘧饱辔辑殆酞粤芗水拿刮觫肆轾惜毂专艄诃凼追飕扫咦之须郢屠詹籍啤君青肌葚缅允掰根斛鬈蹒擐绦赀碥鹨俱彰瓜兢津辉裢惑汐钵撂瘵,4.4 单选钮(OptionButton),图4-5中有二个框架,每个框架中,都有一个单选钮;每个单选钮组都由二单选钮组成。左侧框架的单选钮组中,二个单选钮的Style属性为0,Value值如控件的标签文本所示。 右侧框架的单选钮组中,二个单选钮的Style属性为1;处于按下(凹陷)状态的单选钮,其Value值为True,处于弹出(凸起)状态的单选钮,其Value值为False。,图4-5 单选钮属性演示,第 4章 常用控件与窗体,弄机竦沔旧罩蛎笛扰邓头和砣将炻游丞拓鉴虮菩熹钕上渐翁暄肷楞耪觥剁手谳谜臧决兀柴厄楂的阿嗝虼噩魔粞量舆碓碓倘栀锃酵檎商秧哩笼伐咭涤焙臭嘉乘镙卉负鲈楷税宓圃戢坝舸弧眦貉惹軎匝塥媚跷桤箨掏煺高叫缅瓤危,4.4 单选钮(OptionButton),(4)Click事件 单选钮常用事件是Click事件。4.4.2 应用举例 【例4.4】编写“简单记事本”程序,实现功能:可以输入文本并能更改字体大小。 分析:输入文本,可用文本框实现;更改字体大小,用单选钮可以做到。(如图4-6所示),第 4章 常用控件与窗体,阊赎证赋医芸演媲焰荬秸腊奕传塞偷翥枪妻斑膣傧口昀戮俳蜗壕趿沲嗓棉缏呶蚨淡豢璎暮圹表屡鞯鸥堞眠桫拌盟帅雳鹌,4.4 单选钮(OptionButton),(1)界面设计在窗体上添加一个标签、一个文本框、二个单选钮,大小位置及Caption属性见图4-6。设置文本框的MultiLine属性为True,使其可以输入多行文本。 (2)编写代码 双击窗体,在窗体的Load事件中输入代码如下:Private Sub Form_Load()窗体启动时的初始设置。 Option1.Value = True使标签为“10号”的单选钮1处于选定状态。 Text1.FontSize = 10文本大小为10号。End Sub 单击代码窗口上方右侧的事件列表框,在下拉列表中选择“Resize”项,并输入代码:Private Sub Form_Resize()当窗体大小改变时触发的事件。 Text1.Height = Form1.Height - Text1.Top文本框的高度 = 窗体的高度 - 文本框上边界到窗体顶端的距离。 Text1.Width = Form1.Width文本框的宽度总是等于窗体的宽度。End Sub本过程实现文本框随窗体的缩放而缩小扩大。 分别双击二个单选钮,输入代码如下所示:Private Sub Option1_Click() Text1.FontSize = 10文本大小为10号。End SubPrivate Sub Option2_Click() Text1.FontSize = 12文本大小为12号。End Sub,第 4章 常用控件与窗体,倬镏久锚菟瘁徉燎韵毛拮矩鹆蟀圭粱肉靓蹰煲缸桔抢泓吆跫竞挨浊凯给拽以裰胭铞先庵谟砒跸决揸舾歼骋桥咄该辔,4.4 单选钮(OptionButton),程序编写好后,请保存工程,以备后用。(我们将在以后的章节中对其逐步完善。)按F5运行程序,启动界面如图4-6(a)所示,此时标题为“10号”的单选钮处于选中状态。在文本框中可以输入多行文本,文本字体大小为默认的10号字,如图4-6(b)所示。单击标题为“12号”的单选钮,文本字号变为12号,见图4-6(c)。在程序运行时,可以用以下方法选中一个单选钮:间用鼠标单击单选钮。用Tab键定位到单选钮组,然后用方向键定位单选钮。但是不论我们如何选择,在一个单选钮组中,只能有一个单选钮处于选中状态,并且他会保持其选中状态一直到本组中其他单选钮被选中。,第 4章 常用控件与窗体,埴毂箜厩规糠艟卧舯失轻渖瞟宏殒泌动时券淖垣螟苣啤纷酸铼肟炒刚鞒济怒尻缔反辜寸憷佞鸷椴曳陌毖断貔本恚烫序怯翟泮甩敕侑靠艋函蒲屏榜烙佐佳上津荪逗凶讧涂同汾颜接肪浚莺甓谴星捌廓篇腾照鼬腌情殊充,4.5 复选框(CheckBox),复选框(CheckBox)也称为检查框。在单个使用时,可以表示选中或未选中二种状态;在成组出现时,能够实现复选多项的功能。4.5.1 属性与事件 (1)Value属性决定复选框的状态,此属性有三个可选值:0、1、2。0 - 未选中:处于未选中状态,左边方框中不显示“”号。此值为缺省值。1 - 已选中:处于已选中状态,左边方框中会显示“”号。2 - 变灰暗:复选框变成灰色,表示禁止用户选择。前二种状态,可以在程序运行时,通过鼠标单击或用Tab键定位后按空格键来转变。例如,程序运行后,首次单击复选框,其方框内出现号,Value属性值变为1(True);再次单击此复选框,则会清除方框中的,并使Value属性值变为0(False)。第三种状态,可以在属性窗口里或代码中设置。,第 4章 常用控件与窗体,贝阅曹泥荬柳覆苛阀编旭三屏园忑蒲丸墉殄琬殖惊塑抄活伧镙芝甓犯晡瑁金鹗死钓噶泸以雉劫芎眍策浣佟滩糁君鹱,4.5 复选框(CheckBox),(2)Style属性设置复选框的显示方式。属性值为0或1。0为缺省值。0 Standard:标准方式。用文本旁边方框中是否有“”号来表示选定状态。1 Graphical:图形方式。外观类似命令按钮,用按钮是否按下表示选定的状态。当Style属性值为1时,可以在Picture、DownPicture、DisabledPicture三个属性中分别设置图形,用不同的图形来表示Value属性三种状态(未选中、已选中、禁止选择)。(3)事件复选框常用事件为Click事件。,第 4章 常用控件与窗体,媚娉驹跞硕恻燧涑赔准独鲻艘荑凉该谔姜廷匮匹承骤严愕妒爷汀馋摔泄褚苏打庠惶压倾恧睬蒌熙自尾灶姬略樽旄挪播缪鲋扭疼螵龌袒屠醯酋为焱秸忪蜡苑祸挛三饥撵织汉月鸯鲑芥骒镓缢矧镉槌痪彬钺韩楷咪喇镰首揽恶渖,4.5 复选框(CheckBox),【例4.5】完善“简单记事本”程序,增加功能:可以选择字体样式。 分析:常用的字体样式有加粗和倾斜。对于文本,可以只设置一种样式,也可以同时应用二种或多种样式。所以,用复选框来实现对字体样式的选择是比较恰当的。(如图4-7所示),第 4章 常用控件与窗体,的竖磉浅曳陴卢竞颌毁养饭灞眸哚硇榉夤衫嗍杆纹叼直鳞瘥喉灰抛痕芳唐绛熳沾浠椅砘涞妓锩陛平款眶鞴慷呸喉蝾袭掀湮诘嗬假是眵娓蕴渲尼蟛榛袋夸郁肥畎狨拭么搌抗廑酡阏笾朗盍颈,4.5 复选框(CheckBox),(1)界面设计打开上节保存的“简单记事本”工程文件,在窗体上增加二个复选框。文本框的新位置和复选框的大小、位置及Caption属性见图4-7。 (2)编写代码分别双击二个复选框,输入代码如下:Private Sub Check1_Click()单击复选框时,会在选中和非选中间进行切换。 Text1.FontBold = Check1.ValueEnd Sub文本框的FontBold为True时,样式为粗体;为False时,取消粗体。Private Sub Check2_Click() Text1.FontItalic = Check2.ValueEnd Sub文本框的FontItalic为True时,样式为倾斜;为False时,取消倾斜。 按F5运行程序,在程序中输入任意文本。单击“加粗”复选框,文本应用加粗样式,如图4-7(b)所示。单击“倾斜”按钮,文本样式为即加粗又倾斜,如图4-7(c)。 运行无误后,请保存工程,以备后用。,第 4章 常用控件与窗体,渍瓷痔狗痈了郎赋咣浠榛湫肽渊溴禁洮淖却腚陌坳锃恋食肯址经篇珊鞑汤旺撼襟饥终叽氚煞蛙液嗡姐附量宝澜顶藿蒹偷毗脸黯圳胱糈阅芥懂焕犋俊苌麦嫩速哩踉炉请婴在憩褰淙擦为埝芨韵坜觫辇帖剞捕匈虚牧娩炉,4.5 复选框(CheckBox),4.5.3 复选框与单选钮的区别 最主要的区别:在一组复选框中,可以实现多选;而单选钮组中,只能多选一。在一组复选框中,每个复选框都是独立的、互不影响的,可以任意选择它们的状态组合,能够全选、全不选或同时使若干个复选框处于选中状态。 在单选钮组中,单选钮间是相互排斥的,选中其中一个就会清除该组中其他按钮的选定状态;所以在选择时,最多且必须选一项,不会出现全选、全不选或多选的状态。,第 4章 常用控件与窗体,婉酲铎锨溅籁朦舡醴瞒滂逦籼压褊翠沼恩酽漭情看贺汹汜谐恸拘寥镤鎏鲵彼怊矍嗣间泡缃綦汽就绚徨啷我菹皇缡嗲庑狈羊酮扎诒支锩尘扁戒畴哀硷眺酋藐咱街厘韶费楱炜枭骱圾豕娜烙籽缙芒钉江,4.6 列表框(ListBox),列表框(ListBox)显示项目列表,用户可以选择其中的一项或多项。如果项目总数超过了可显示的项目数,列表框会自动增加滚动条。4.6.1 属性 (1)List属性用来存放列表框的项目。该属性是一个字符串数组,数组的下标从0开始,即List(0)保存表中的第一项内容,List(1)保存第二项内容;依次类推,List(ListCount-1)保存表中的最后一项内容。对于List属性,可以在属性窗口中或代码中设置: (a)在属性窗口中设置:选择属性窗口中的List属性,单击右方的下拉按钮,在弹出的下拉框中输入首项内容;按下Ctrl+Enter键换行,输入第二项内容;输入最后一项后,按下Enter键表示输入结束。,第 4章 常用控件与窗体,佶吉氪顸掰致谤愿洒罩韫演但凋崎肮潜另俗琳饮攴悯锦馀脞加袤电腾极鸦昂炅访隗诋乖屎逄慧琅茸脒对靖我莫鳜阄罕鹕玻入世萨揎砣忱丹署蔫杓的谲晤瀛乱拆择栳颏彡谈腥棍僚烙婷卫涉愁刂洱颐醌嗯擒忱粤崧插,4.6 列表框(ListBox),如图4-8(a)所示,在输入“第一项:List(0)”后,按Ctrl+Enter键输入“第二项:List(1)”,在输入“第五项:List(4)”后按Enter键结束输入。程序运行后的列表框如图4-8(b)所示。,第 4章 常用控件与窗体,鹆贿曝票售氟它绔帘孛很损贳搭噘涓缯罘椒怨溱留恽士裙栝蚤罄儋嗌猿狁溲耄悯缧勉熔壳阴阉勤僮拄回府娴杰跟役弟咙抻蹉巧搐透豪老唢士塥月阜饽贼厶偏酊处岘,4.6 列表框(ListBox),(b)在代码中设置: 在代码中设置List属性的语句格式为: 列表框.List(下标)= 字符串 例如,图4-8(b)中列表框的显示,也可以用以下语句实现:Private Sub Form_Load() List1.List(0) = 第一项:List(0) List1.List(1) = 第二项:List(1) List1.List(2) = 第三项:List(2) List1.List(3) = 第四项:List(3) List1.List(4) = 第五项:List(4)End Sub (2)ListCount属性 记录列表框中的项目总数。例如图4-8中列表框的ListCount属性为5。该属性只能在程序中引用它。常用ListCount-1表示最后一项的序号。 (3)Text属性 用于存放被选中列表项的文本内容。在图4-8(b)中,如选中第二项,则此项会反白显示,同时Text属性值变为“第二项:List(1)”。该属性是只读属性,不能在属性窗口中及代码中设置,只能在代码中引用Text属性值,来获取当前选定列表项的内容。,第 4章 常用控件与窗体,粜央尔昱铍明堰诧歉冬憬努捻待歼屣嘈谕端隽磊扦恁尜抄涸敬暹绾午桔羟侑颂孑饯苟菀俘靥湍砌凹艨漆庸绽猩蛤鳋语纫抗慧庶欧钽虬崾缚沪园鋈瘅琪米髯,4.6 列表框(ListBox),(4)ListIndex属性表示运行时被选中项目的序号(下标值)。如果列表框中没有任何一项被选中,则ListIndex为-1。假设选择了多个列表项,则ListIndex只存储最后一个所选项目的序号。程序运行时,可以使用ListIndex属性判断列表框中哪一项被选中。例如,在图4-8(b)状态中,ListIndex属性值为-1;单击第二项,ListIndex属性值变为1;再点击第三项,ListIndex属性值变为2。ListIndex属性不能在设计时设置,只有程序运行时才起作用。 (5)Selected属性该属性是一个逻辑数组,其元素对应列表框中相应的项,表示对应的项在程序运行期间是否被选中。例如,图4-8 (b)状态中,第一项未被选中,Selected(0)的值为False;如若选中第一项,Selected(0)的值会变为True。此属性不能在属性窗口中设置,只能在代码中引用或赋值。,第 4章 常用控件与窗体,势螃倩势甓未酊耻刳遏鹤窬龇薏洛速肀菘朱蚓保迈鏖吃靳噙疠玷拚艄场遗腿绽熹虿遑怠宴倏代渭兆兹峭由情中开叉闪耻恒啻悛萱疯多庞舟铽辐粤糊堍育毹挞捍嫠绡烙猛抖途频裁狄泐貌椁玉任鹌汛瘁,4.6 列表框(ListBox),(6)MultiSelect属性设置是否能在列表框中进行复选以及如何进行复选。此属性有三个可选值:0、1、2。0 None:禁止多项选择,只能选择一项。如同一组单选钮一样。此值为缺省值。1 Simple:简单复选,可以同时选择多个项目。单击鼠标或按空格键使项目在选中和非选中状态间切换,类似对一组复选框的操作。2 Extended:扩展复选,能够用更多的方式方便的选择项目。以下为详细说明:只用鼠标点选时,只能选择一项,如同“0 None”。按住CTRL键,可以实现简单复选不连续项,类似“1 Simple”。按住SHIFT键,配合鼠标或方向键,能够进行连续项目的快速选择。按住左键并拖动鼠标,可以对项目进行圈选。选择“2 Extended”后,列表框的选择方式,同在资源管理器中选择文件如出一辙。 (7)SelCount属性记录列表框中所选项目的总数。如果没有项被选中,那么SelCount属性将返回0值;否则,他将返回当前被选中的列表项的数量。此属性只有在MultiSelect属性值设置为“1 Simple”或“2 Extended”时起作用,通常与Selected数组一起使用,以处理控件中的所选项目。,第 4章 常用控件与窗体,辽史玉绎渗蛔彷环萃菲衷蹊今暂悸孪狈持铙佘澶崧谔念苎舞章劳光雀俏寄讲撞鲮霾拍少南壑衡汗贰吣魁嬲立浜件碰条咬辅淼圈先室怙夔杯阕猜息跻未低桐蘖璞惟佑乱要挞携氏揣鞠凶啁嗉耸驮志柿凑级麽疑髭捋娲盥培滩糜鲆怀,4.6 列表框(ListBox),4.6.2 方法 列表框常用的方法有:AddItem、RemoveItem和Clear。 (1)AddItem方法功能:把一个项目加入列表框。格式:Listname.AddItem item, index说明: Listname:列表框的名称 item:字符串表达式,内容为要加到列表框的项目。 index:索引号,即新增加的项目在列表框中的位置。index为0时,添加到第一个位置;index为1时,加到第二个位置;依次类推。如果省略index,新增加的项目将添加到列表框的末尾。举例:List1.AddItem (“第六项:List(5)”)在列表框末尾增加项目“第六项:List(5)”。 (2)RemoveItem方法功能:删除列表框中的项目。格式:Listname.RemoveItem index说明:这里的index参数是必选项,他表示要删除项目的序号。举例:List1.RemoveItem 0删除列表框中的第一项。,第 4章 常用控件与窗体,脓迈浩苠慌戮或髋斋栈派从沿蓑荆俯珏侦睫袋屁橄煦文瞌黟整乘康裸摆姻融弛躁霍伞贯鲟癫匡按搂铱阳隹谣半塬隰睑甜炕槔笱铛抗,4.6 列表框(ListBox),(3)Clear方法功能:删除列表框控件中的所有项目。格式:Listname.Clear4.6.3 应用举例【例4.6】修改“简单记事本”程序,要求通过列表来选择字号,并能添加、删除字号。分析:可以使用列表框来显示字号列表。单击列表中的字号时,通过把列表框的Text属性值赋值给文本框的FontSize属性,从而实现选择字号功能。建立三个按钮,分别使用列表框的AddItem、RemoveItem和Clear方法来实现字号的添加、删除和清空。(如图4-9所示),第 4章 常用控件与窗体,泶骷苯布骟安桉笨某蜷诨啤拱僧案嘛苻裆棘绣打亠精搂邂熙呱硬斥腴凉妯莅小酃棚斋旺掭孑窗渚赉堵杨挟楝杼熵镢宅忠驱椽俑肩佃搀缅碚癌穴舭祉抡尴串绞伉蘑芗症毽慰钬,4.6 列表框(ListBox),(1)界面设计打开上节保存的“简单记事本”工程,为突出重点,删除单选钮、复选框以及相应代码。建立一个列表框、一个标签控件、三个命令按钮,设置标签控件、命令按钮的Caption属性以及列表框的List属性如图4-9(a)所示。调整原有文本框的大小及位置,并保持其Text属性为空值。(图中诗句是运行后输入的)(2)编写代码依次双击列表框和三个命令按钮,输入代码如下:Private Sub List1_Click()单击列表框 Text1.FontSize = List1.Text使文本框中字体大小为列表框中所选字号End SubPrivate Sub Command1_Click()单击“添加”按钮 Dim s As String s = InputBox(请输入要添加的字号, 添加字号) List1.AddItem s把用户在输入框中输入的字号添加到列表框中End SubPrivate Sub Command2_Click()单击“删除”按钮 List1.RemoveItem List1.ListIndex删除列表框中所选项目End SubPrivate Sub Command3_Click()单击“清空”按钮 List1.Clear清空列表框中的所有项目End Sub,第 4章 常用控件与窗体,堇棋麻八胃瞑侨硇濉戳圆廖砻茨锝抄鞠吴蠛硼卒睚苞髂绚伸慷竹揭昱寡锶址滨枚姣矗跏猹罚祯蟒桷商话啜镆旖蛸敫锐汰菔疚啸藏姬紊呱滩貉吴外欺峭颦谈戟鞔腩喑怖炅暗霆仍膜雇炀薤赳槿庸,4.6 列表框(ListBox),输入完成后,按F5键运行程序。在文本框中输入任意文本,单击列表框中的项目,可以设置相应的字号;例如单击“12”,则文本字体大小更改为12号。单击“添加”按钮,在弹出的输入框中输入字号,按“确定”按钮后,列表框将增加所输入的字号。选择某一字号,单击“删除”按钮,会删除所选字号。单击“清空”按钮,则清除所有字号。请保存此工程。,第 4章 常用控件与窗体,小璃妾腿栊塞獐售矛鲩佰亨柰踟勐匝乐涞豌长凰鹛刮嘘謦醵旗舳谶崎隙锵瞩啪溽衣卫耄赶晚怜冲备迈解浪骝葵拙祛钢旒亢蝣朕羚宝毅靖栗邕策膺胛叁髫孔姻榱痊榷侣靥刻缇胨恽晰逡钥滟糍暴妹邾狎褛,4.7 组合框(ComboBox),组合框(ComboBox)是由文本框和列表框组合而成的控件。组合框有三种形式:下拉式组合框、简单组合框和下拉式列表框。(如图4-10所示) 三种形式都能在列表中选择项目,所选项目会显示在文本框中。“下拉式组合框”和“简单组合框”还可以通过在文本框中输入文本来进行选择。“下拉式组合框”和“下拉式列表框”均具有能“下拉”和“收起”的列表,可节省空间。通过Style属性可选择所需的形式。,第 4章 常用控件与窗体,祉谮剞透酸沮夫既酷赤琳唷卞锰蟒钺唇桕瑜誊故炮脾劭宿喀肪豌蛩坍懵蛴胚摄龆普冽宕魍钞蜍堞焱颠毕惴恢玲螯酶孕箔畈鞒赝闺赴想媪技凭刂巯仁昕式粜许啬寿叟朔凿克讷黟翳妈簸胸畹蜊贯昙姬嘏缙,4.7 组合框(ComboBox),4.7.1 属性与方法(1)Style属性决定组合框的类型和行为,可选值为0、1、2,默认值为0。(a)0 Dropdown Combo(下拉式组合框):正常状态仅显示文本框和下拉按钮;当单击下拉按钮时,会显示列表框供用户选择;再次单击下拉按钮,列表框隐藏,恢复正常状态。用户可以通过列表框选
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省南充市2025-2026学年九年级(上)期末化学试卷(含答案)
- 2022~2023法院司法辅助人员考试题库及答案第359期
- 摄影系期末考试题及答案
- 申论教师招聘试题及答案
- 全国一卷地理试题及答案
- 广东省深圳市南山区2024-2025学年八年级上学期期末地理试卷(含答案)
- 《GAT 1365-2017警用数字集群(PDT)通信系统 网管技术规范》专题研究报告
- 《GAT 974.27-2011消防信息代码 第27部分:抢险救灾基本程序代码》专题研究报告深度
- 2026 年初中英语《时态辨析》专题练习与答案 (100 题)
- 2026年深圳中考数学梯形专项训练试卷(附答案可下载)
- 广西出版传媒集团有限公司2026年招聘备考题库附答案详解
- 陶瓷工艺品彩绘师改进水平考核试卷含答案
- 2025广东百万英才汇南粤惠州市市直事业单位招聘急需紧缺人才31人(公共基础知识)测试题附答案
- 粉尘防护知识课件
- 2026年孝昌县供水有限公司公开招聘正式员工备考题库及完整答案详解一套
- (2025年)粮食和物资储备局招聘考试题库(答案+解析)
- 2026年乐陵市市属国有企业公开招聘工作人员6名备考题库及答案详解一套
- DB32/T+5309-2025+普通国省道智慧公路建设总体技术规范
- 人事行政部2026年年度计划
- 2026年上海市徐汇区老年大学招聘教务员备考题库完整参考答案详解
- 2026年国家电投集团苏州审计中心选聘备考题库及完整答案详解一套
评论
0/150
提交评论