时间: 2021-07-31 作者:daque
在vb编制程序中,常常要按照各别的情景在运转时向窗口中增添大概简略控件,而各个控件还要相应百般事变。在普遍的情景下是开始在安排时将控件介入到窗口中,在它们的各个事变中写入代码,而后将它们的visible属性树立为false。在运转时再使控件表露出来,然而如许既不简单同声也由于在安排时在窗口中介入太多的控件而使得步调的运转速率变慢。底下我向大师引见一种经过编制程序在运转时动静增添和简略控件的本领 开始创造一个工程文献,而后在form第11中学介入以次的代码: dim withevents cmdmycommand as vb.commandbutton option explicit 解释:在底下的设置中,步调设置了一个textbox控件、一个commandbutton控件 解释:和一个附加控件。 dim withevents ctldynamic as vbcontrolextender dim withevents ctltext as vb.textbox dim withevents ctlcommand as vb.commandbutton dim withevents ctlcommanddel as vb.commandbutton private sub ctlcommanddel_click() dim i as integer 解释:将控件的承诺证消息简略 licenses.remove "mscomctllib.treectrl" if msgbox("能否简略一切控件", vbyesno) = vbyes then for i = 1 to form1.controls.count controls.remove 0 next i end if end sub private sub ctlcommand_click() ctltext.text = "你点击的是遏制按钮" end sub private sub ctldynamic_objectevent(info as eventinfo) 解释:当点击树形控件的某一个条件后,在ctltext中表露条件。 if info.name = "click" then ctltext.text = "你点击的条件是 " & _ ctldynamic.object.selecteditem.text end if end sub private sub form_load() dim i as integer 解释: 将树形控件的承诺证消息介入到承诺证汇合中 解释: 即使承诺证仍旧生存,则会归来缺点消息732 licenses.add "mscomctllib.treectrl" 解释: 在form中动静的介入一个树形控件,即使你想树形控件创造到各别的 解释:容器中,象一个frame控件大概picturebox控件,你只有将controls.add 解释:因变量的第三个参数改为一定的容器名就不妨了 set ctldynamic = controls.add("mscomctllib.treectrl", _ "myctl", form1) 解释:树立树形控件的场所和尺寸 ctldynamic.move 1, 1, 2500, 3500 解释:在树形控件中介入10个节点 for i = 1 to 10 ctldynamic.object.nodes.add key:="test" & str(i), _ text:="test" & str(i) ctldynamic.object.nodes.add relative:="test" & str(i), _ relationship:=4, text:="testchild" & str(i) next i 解释:使树形控件看来 ctldynamic.visible = true 解释:介入一个textbox set ctltext = controls.add("vb.textbox", "ctltext1", form1) 解释:树立textbox的场所和尺寸 ctltext.move (ctldynamic.left + ctldynamic.width + 50), _ 1, 2500, 100 解释:将textbox的背局面树立为蓝色并将前局面树立为白色 ctltext.backcolor = vbblue ctltext.forecolor = vbwhite 解释:使textbox看来 ctltext.visible = true 解释:介入一个commandbutton set ctlcommand = controls.add("vb.commandbutton", _ "ctlcommand1", form1) 解释:树立commandbutton的场所和尺寸 ctlcommand.move (ctldynamic.left + ctldynamic.width + 50), _ ctltext.height + 50, 1500, 500 解释:树立commandbutton的题目 ctlcommand.caption = "点击" 解释:使commandbutton看来 ctlcommand.visible = true 解释:创造一个简略按钮 set ctlcommanddel = controls.add("vb.commandbutton", _ "ctlcommand2", form1) ctlcommanddel.move (ctldynamic.left + ctldynamic.width + 50), _ ctltext.height + 650, 1500, 500 ctlcommanddel.caption = "简略一切控件" ctlcommanddel.visible = true end sub 运转上头的步调,不妨看到步调在窗口中介入了三个vb规范控件:一个textbox和两个commandbutton还介入了一个扩充的activex控件:树形控件。那些控件还不妨相应动静,点击树形控件中的名目大概“点击”按钮就不妨在文本框中表露相映的实质。点击“简略一切控件”按钮就不妨简略介入的一切控件了。 经过上头的步调不妨看到,经过withevents不妨设置带事变相映的控件,对于规范的vb控件(比方commandbutton、textbox等)不妨经过vb.xxx来设置,个中xxx是控件的类的称呼,而对于扩充的activex控件,不妨经过vbcontrolextender来设置,在承载扩充控件往日,开始要运用licenses东西介入控件的承诺证消息。 上头的步调在vb6,win98华文版下运转经过。