你還要把過程與控件事件綁定
成都創(chuàng)新互聯(lián)專注于陽新企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),商城網(wǎng)站制作。陽新網(wǎng)站建設(shè)公司,為陽新等地區(qū)提供建站服務(wù)。全流程按需求定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
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部分也添出來看看。
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
自己在窗體上加一個(gè)按鈕,以下是詳細(xì)代碼(整個(gè)類)
Public Class Form1
Private N As Integer '用來記添加要加入textbox的個(gè)數(shù)
Private PL As Integer = 10 'textbox相對(duì)于窗體的Left
Private PT As Integer = 10 'textbox相對(duì)于窗體的Top
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.AutoScroll = True '窗體自動(dòng)顯示滾動(dòng)條
N = 10 '初始化N為10
For i = 1 To N
Dim newtextbox As New TextBox
newtextbox.Left = PL
newtextbox.Top = PT
Me.Controls.Add(newtextbox)
PT += newtextbox.Height + 10 '各 newtextbox上下間隔10-------PL不變是希望左對(duì)齊
Next
End Sub
End Class
Dim Text() As Object
Private Sub Form_Load()
Dim i As Integer
Dim nTop As Long
ReDim Text(1 To 10)
For i = 1 To 10
Set Text(i) = Controls.Add("VB.TextBox", "Text1" CStr(i))
Text(i).Height = 300
Text(i).Top = nTop
Text(i).Visible = True
nTop = nTop + 30 * 15
Next i
End Sub
添加動(dòng)態(tài)控件。你可以自己試試看。 form1上什么都不加運(yùn)行這個(gè)程序后會(huì)發(fā)現(xiàn)自動(dòng)生成了10個(gè)text控件
下面這段代碼完成,在窗體上用語句添加2個(gè) GroupBox控件,且在每個(gè)GroupBox控件中添加4個(gè) RadioButton 控件。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
'添加2個(gè)GroupBox
Dim MyGroupBox(2) As GroupBox
For i = 1 To 2
'將一個(gè)GroupBox控件加入到Form上
MyGroupBox(i) = New GroupBox
Me.Controls.Add(MyGroupBox(i))
'設(shè)置該GroupBox控件的屬性
MyGroupBox(i).Height = 240
MyGroupBox(i).Width = 600
MyGroupBox(i).Top = (i - 1) * (240 + 20) + 20
MyGroupBox(i).Left = 20
'修改新加入控件的Text值
MyGroupBox(i).Text = "GroupBox" CStr(i)
Next
'每個(gè)GroupBox中添加4個(gè)單選按鈕
Dim MyRadioButton1(4) As RadioButton
Dim MyRadioButton2(4) As RadioButton
For i = 1 To 4
MyRadioButton1(i) = New RadioButton
Me.Controls.Add(MyRadioButton1(i))
MyRadioButton1(i).Parent = MyGroupBox(1)
'設(shè)置該GroupBox控件的屬性
MyRadioButton1(i).Height = 20
MyRadioButton1(i).Width = 120
MyRadioButton1(i).Top = (i - 1) * (20 + 20) + 40
MyRadioButton1(i).Left = 20
'修改新加入控件的Text值
MyRadioButton1(i).Text = "RadioButton1_" CStr(i)
Next
For i = 1 To 4
MyRadioButton2(i) = New RadioButton
Me.Controls.Add(MyRadioButton2(i))
MyRadioButton2(i).Parent = MyGroupBox(2)
'設(shè)置該GroupBox控件的屬性
MyRadioButton2(i).Height = 20
MyRadioButton2(i).Width = 120
MyRadioButton2(i).Top = (i - 1) * (20 + 20) + 40
MyRadioButton2(i).Left = 20
'修改新加入控件的Text值
MyRadioButton2(i).Text = "RadioButton2_" CStr(i)
Next
End Sub
比如說這樣添加的計(jì)時(shí)器:
Dim Timer1 As New Timer
你要在合適的地方開始,比如窗體Load事件中,這樣:
Timer1.Interval = 1000 '單位毫秒,1000毫秒=1秒
Timer1.Enabled = True '啟用計(jì)時(shí)器
然后在代碼窗口上方下拉列表里選擇Timer1的Tick事件,自動(dòng)添加代碼:
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
End Sub
這是計(jì)時(shí)器觸發(fā)的事件,每秒觸發(fā)一次,在這里面輸入循環(huán)判斷是否有日程即可。提示:你可以用Now對(duì)象獲取當(dāng)前的日期和時(shí)間。
新聞名稱:vb.net動(dòng)態(tài)加入控件 VB添加控件
路徑分享:http://muchs.cn/article38/hjecsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、關(guān)鍵詞優(yōu)化、品牌網(wǎng)站制作、建站公司、品牌網(wǎng)站設(shè)計(jì)、全網(wǎng)營(yíng)銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)