刘金玉的零基础VB教程063期:如何用代码直接创建控件?从此不必拖控件了
Withevents关键词
作用:可以直接声明一个控件,并且可以使用这个控件的事件
Controls.add方法
解释:
Controls控件
Add方法,有两个参数(参数1,参数2)
参数1:系统中已经存在的控件vb.timer vb.label 等控件类型来表示
参数2:控件的名称
变量控件的赋值
1、如果是普通的变量(integer,string,boolean等),声明使用dim ,可以直接赋值
2、如果是对象类型的变量,在赋值时,必须使用set关键字
Private关键词
这个关键词,指定当前的变量或者类等,只能在当前窗体或模块或类中使用,不能超过这个适用范围
课堂总结
1、学会使用controls.add创建控件
2、学会使用withevents操作控件事件
3、要学会将问题一步步分析,进行代码调试,解决问题
本期界面:
本期源代码:
Private WithEvents label1 As Label '声明一个带事件的控件 Private WithEvents timer1 As Timer Dim d As Integer '0表示向右,1表示向左 Private Sub Form_Load() AutoRedraw = True '对label控件进行实例化 Set label1 = Controls.Add("vb.label", "label1") '开始配置控件 label1.Caption = "刘金玉编程" label1.FontSize = 50 label1.BackColor = vbRed label1.AutoSize = True label1.ForeColor = vbWhite label1.Left = ScaleWidth / 2 - label1.Width / 2 label1.Top = ScaleHeight / 2 - label1.Height / 2 label1.Visible = True '显示控件 Set timer1 = Controls.Add("vb.timer", "timer1") timer1.Interval = 10 timer1.Enabled = True End Sub Private Sub label1_Click() Shell "explorer http://ljy.kim" End Sub Private Sub timer1_Timer() If label1.Left + label1.Width > ScaleWidth And d = 0 Then d = 1 '向左 ElseIf label1.Left < 0 And d = 1 Then d = 0 '向右 End If If d = 0 Then '向右 label1.Left = label1.Left + 10 Else label1.Left = label1.Left - 10 End If End Sub