重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
.....
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比玉州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式玉州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋玉州地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。
Px?+=?0
Py?+=?20
AddHandler?pic(i).Click,?AddressOf?Pic_Click?'添加這一句,綁定單擊圖片框事件
Next
FlowLayoutPanel1.Controls.AddRange(pic)
End?Sub
Dim?l?As?Point,?s?As?Size,?f?As?Boolean
Private?Sub?Pic_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)
Dim?pic?As?PictureBox?=?CType(sender,?PictureBox)
If?f?Then
pic.Location?=?l
pic.Size?=?s
f?=?False
Else
l?=?pic.Location
s?=?pic.Size
pic.BringToFront()
pic.Location?=?FlowLayoutPanel1.Location
pic.Size?=?FlowLayoutPanel1.Size
f?=?True
End?If
End?Sub
動(dòng)態(tài)生成的控件:
Private?Sub?UserControl1_Load(sender?As?System.Object,?e?As?System.EventArgs)?Handles?MyBase.Load
Dim?myPicture?=?New?System.Windows.Forms.PictureBox()
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?'添加事件
End?Sub
處理事件的過程:
Private?Sub?mypic_Click()?'ByVal?id?As?String
Dim?bookInfo?As?New?BookInfo
bookInfo.Show()
Me.Parent.Enabled?=?False
'把圖片的聲明放在外面,類里面過程外面,而且要用As,不然等會(huì)兒沒法用
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 '綁定事件和過程
End Sub
'再來個(gè)事件,放在聲明的地方,就是類里面、過程外面
Private Event returnid(ByVal id As String) '這個(gè)事件可以傳遞值哦~
'普通的單擊事件
Private Sub mypic_Click()
RaiseEvent returnid(myPicture.Name)
End Sub
'會(huì)傳值的事件過程
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è)事件。
執(zhí)行鍵盤事件方法如下:
第一步,點(diǎn)擊VS工具。
第二步,打開后,新建一個(gè)Windows窗體應(yīng)用程序。
第三步,請(qǐng)看右下方Form的屬性欄。
第四步,雙擊KeyDown。
第五步,輸入提示按鍵代碼,如圖所示。
第六步,再次輸入代碼,設(shè)置屬性KeyPreview為true。
第七步,運(yùn)行程序,按下舉例F5,則會(huì)彈出提示,表明已經(jīng)成功獲。
兩種方法:
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 語句:
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 語句:
常見事件有鼠的標(biāo)單擊、雙擊、移動(dòng);
有鍵盤的鍵按下、鍵松開、按鍵;
有窗體加載、窗體卸載等等。