vb.net掛載事件的簡(jiǎn)單介紹

如何在 vb.net 為動(dòng)態(tài)生成的控件添加事件并傳遞數(shù)據(jù)

'把圖片的聲明放在外面,類里面過(guò)程外面,而且要用As,不然等會(huì)兒沒(méi)法用

成都創(chuàng)新互聯(lián)公司服務(wù)熱線:13518219792,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),成都創(chuàng)新互聯(lián)公司網(wǎng)頁(yè)制作領(lǐng)域十余年,包括iso認(rèn)證等多個(gè)方面擁有豐富的網(wǎng)站營(yíng)銷經(jīng)驗(yàn),選擇成都創(chuàng)新互聯(lián)公司,為網(wǎng)站保駕護(hù)航!

Dim myPicture As New System.Windows.Forms.PictureBox()

'動(dòng)態(tài)生成的控件,加一行

Private Sub UserControl1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

Me.Panel3.Controls.Add(myPicture)

myPicture.Size =New System.Drawing.Size(115, 160)

myPicture.TabStop =False

myPicture.Name ="p"

myPicture.Cursor = Cursors.Hand

AddHandler myPicture.Click, AddressOf mypic_Click '添加事件

AddHandler returnid, AddressOf idReturned '綁定事件和過(guò)程

End Sub

'再來(lái)個(gè)事件,放在聲明的地方,就是類里面、過(guò)程外面

Private Event returnid(ByVal id As String) '這個(gè)事件可以傳遞值哦~

'普通的單擊事件

Private Sub mypic_Click()

RaiseEvent returnid(myPicture.Name)

End Sub

'會(huì)傳值的事件過(guò)程

Private Sub idReturned(ByVal id As String)

Dim bookInfo As New BookInfo

bookInfo.Show()

Me.Parent.Enabled = False

'用id變量做點(diǎn)什么吧

End Sub

如果要改事件的簽名(參數(shù)一類的)的話,得重寫控件。你可以這樣自己弄一個(gè)事件。

vb.net給控件加事件

兩種方法:

1. 用WithEvents聲明變量,這樣你就可以像對(duì)待拖上去的控件一樣操作:

Public?Class?Form3

WithEvents?btn?As?New?Button

Private?Sub?Form3_Load(sender?As?Object,?e?As?EventArgs)?Handles?Me.Load

Controls.Add(btn)

End?Sub

Private?Sub?btn_Click(sender?As?Object,?e?As?EventArgs)?Handles?btn.Click

MsgBox(Now)

End?Sub

End?Class

2. 使用AddHandler 語(yǔ)句:

Public?Class?Form3

Private?Sub?Form3_Load(sender?As?Object,?e?As?EventArgs)?Handles?Me.Load

Dim?btn?As?New?Button

AddHandler?btn.Click,?AddressOf?btn_Click

Controls.Add(btn)

End?Sub

Private?Sub?btn_Click(sender?As?Object,?e?As?EventArgs)

MsgBox(Now)

End?Sub

End?Class

WithEvents (Visual Basic):

AddHandler 語(yǔ)句:

VB.net中怎么調(diào)用控件的事件

軟糖來(lái)回答羅。

“調(diào)用事件”有歧義,你的意思是不是下面兩種:

調(diào)用事件處理方法

直接調(diào)用對(duì)象名.方法名

'例如有這樣一個(gè)按鈕點(diǎn)擊事件處理程序

Private?Sub?Button1_Click(sender?As?Object,?e?As?EventArgs)?Handles?Button1.Click

秒表.Start()

End?Sub

'調(diào)用它直接用

Button1_Click(me,?new?EventArgs())

引發(fā)事件

Button1.Click.Invoke(me,?new?EventArgs())

另外?RaiseEvent 也可以引發(fā)事件,但不能使用 RaiseEvent?來(lái)引發(fā)派生窗體的控件事件,只有自己定義的類的事件才能用它引發(fā)。

如滿意,請(qǐng)采納,謝謝。

VB.NET求幫忙!...

新建窗體,把maximizebox屬性和MinimizeBox 屬性設(shè)為false,再添加一個(gè)Label1放置文字一個(gè)Picturebox1放圖片。

在窗體的load事件中:

Private Sub Form1_Load() Handles Me.Load

Text="我的VB.NET程序"

PuctureBox1.Image=Image.FromFile(圖片路徑如e:\pic.jpg)

End Sub

窗體Click事件:

Private Sub Form1_Click() Handles Me.Click

Text="單擊窗體"

Label1.Text="歡迎使用VB.NET"

End Sub

窗體DoubleClick事件

Private Sub Form1_DoubleClick() Handles Me.DoubleClick

Text="雙擊窗體"

Label1.Text = "謝謝使用!"

End Sub

我知道在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掛載事件的簡(jiǎn)單介紹
URL地址:http://muchs.cn/article28/docoijp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)微信公眾號(hào)、搜索引擎優(yōu)化、網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作手機(jī)網(wǎng)站建設(shè)

廣告

聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)