vb.net動(dòng)態(tài)加入控件 VB添加控件

vb.net動(dòng)態(tài)添加控件問題

你還要把過程與控件事件綁定

成都創(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部分也添出來看看。

如何在vb.net里面動(dòng)態(tài)添加控件

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

vb.net 如何動(dòng)態(tài)添加N個(gè)一樣的textbox控件?(馬上采納)

自己在窗體上加一個(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

我知道在VB和VB.net中怎樣添加動(dòng)態(tài)控件,可是我添加的這些控件怎樣添加相應(yīng)的事件呢?

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控件

VB.NET 用二維數(shù)組的方式動(dòng)態(tài)加控制 例如在窗體上動(dòng)態(tài)添加GroupBox,然后再在GroupBox里動(dòng)態(tài)添加控件

下面這段代碼完成,在窗體上用語句添加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

vb.net動(dòng)態(tài)添加控件,并且綁定了一些事件,這些事件只能對(duì)最新生成的控件做修改,之前生成的無法修改

比如說這樣添加的計(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)

營(yíng)銷型網(wǎng)站建設(shè)