你還要把過程與控件事件綁定
站在用戶的角度思考問題,與客戶深入溝通,找到吳川網(wǎng)站設(shè)計(jì)與吳川網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋吳川地區(qū)。
AddHandler 控件.事件名,addressof 事件過程
RemoveHandler 這個(gè)是取消綁定
沒發(fā)現(xiàn)自動(dòng)生存的事件過程后面還有一個(gè)Hander button1.Click之類的,這就是所謂事件句柄。反而跟過程名沒關(guān)系,改成阿貓阿狗也可以。
例外也可以像 Private WithEvents obj as ControlClass 這么聲明控件變量,估計(jì)像vb6那樣會(huì)在下拉列表中列出事件系列。
哎呀,說了半天跑題了。 ff不存在嘛多半不是它的作用域范圍內(nèi),應(yīng)該把ff變量定義在類中,而不是類中的某個(gè)過程中。
最好把代碼添多一點(diǎn),把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關(guān)鍵字聲明一個(gè)對(duì)象變量為新的命令按鈕
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目錄下看看你的系統(tǒng)里是否已經(jīng)有了MSADODC.ocx和MSDATGRD.ocx這兩個(gè)文件(多半是沒有的),要是有了就直接看第2步吧。
然后放到C:\WINDOWS\system32目錄下。
2. 在VS 2005中注冊(cè)MSADODC.ocx和MSDATGRD.ocx這兩個(gè)控件。在VS 2005中點(diǎn)擊"Tools" -- "Visual Studio 2005 Command Prompt",輸入如下命令即可:
regsvr32 msadodc.ocx
regsvr32 msdatgrd.ocx
比如說添加一個(gè)文本框:
Dim?t?As?TextBox
Set?t?=?Controls.Add("VB.TextBox",?"t1")
t.Move?300,?150,?3000,?2400
t.Visible?=?True
VB.TextBox 是文本框的類名,其他控件也有對(duì)應(yīng)的類名,你可以自己去查。比如按鈕就是 VB.CommandButton 。另外,代碼建立的控件其Visible屬性默認(rèn)是False的(也就是不顯示),要改為True才行。