你还要把过程与控件事件绑定
站在用户的角度思考问题,与客户深入沟通,找到吴川网站设计与吴川网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖吴川地区。
AddHandler 控件.事件名,addressof 事件过程
RemoveHandler 这个是取消绑定
没发现自动生存的事件过程后面还有一个Hander button1.Click之类的,这就是所谓事件句柄。反而跟过程名没关系,改成阿猫阿狗也可以。
例外也可以像 Private WithEvents obj as ControlClass 这么声明控件变量,估计像vb6那样会在下拉列表中列出事件系列。
哎呀,说了半天跑题了。 ff不存在嘛多半不是它的作用域范围内,应该把ff变量定义在类中,而不是类中的某个过程中。
最好把代码添多一点,把ff部分也添出来看看。
Dim Bt as New Button
Bt.Size=New Size(100,100)
Bt.Location=New Point(100,100)
Bt.Text="New Button"
Me.Controls.Add(Bt)
Private WithEvents NewTextBox As TextBox
'通过使用WithEvents关键字声明一个对象变量为新的命令按钮
Private Sub Command1_Click()
If NewTextBox Is Nothing Then
Set NewTextBox = Controls.Add("VB.TextBox", "cmdNew", Form1)
NewTextBox.Move 200, 200
NewTextBox.Width = Form1.Width - 450
NewTextBox.Height = Form1.Height - 1400
NewTextBox.Visible = True
End If
End Sub
Private Sub Command2_Click()
If NewTextBox Is Nothing Then
Exit Sub
Else
Controls.Remove NewTextBox
Set NewTextBox = Nothing
End If
End Sub
步骤如下:
1. 先到C:\WINDOWS\system32目录下看看你的系统里是否已经有了MSADODC.ocx和MSDATGRD.ocx这两个文件(多半是没有的),要是有了就直接看第2步吧。
然后放到C:\WINDOWS\system32目录下。
2. 在VS 2005中注册MSADODC.ocx和MSDATGRD.ocx这两个控件。在VS 2005中点击"Tools" -- "Visual Studio 2005 Command Prompt",输入如下命令即可:
regsvr32 msadodc.ocx
regsvr32 msdatgrd.ocx
比如说添加一个文本框:
Dim t As TextBox
Set t = Controls.Add("VB.TextBox", "t1")
t.Move 300, 150, 3000, 2400
t.Visible = True
VB.TextBox 是文本框的类名,其他控件也有对应的类名,你可以自己去查。比如按钮就是 VB.CommandButton 。另外,代码建立的控件其Visible属性默认是False的(也就是不显示),要改为True才行。