十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
'把圖片的聲明放在外面,類里面過程外面,而且要用As,不然等會(huì)兒沒法用

創(chuàng)新新互聯(lián),憑借10多年的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),本著真心·誠(chéng)心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計(jì)網(wǎng)站有上千家案例。做網(wǎng)站建設(shè),選創(chuàng)新互聯(lián)公司。
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è)事件。
繼承(Inherits)控件就可以重寫它的屬性和方法,圖標(biāo)可以在paint中重繪,用gdi,工具主要在drawing和drawing2d中。
combobox彈出的框增加圖標(biāo)嗎?個(gè)人看法可能需要得到那個(gè)句柄,才可以重繪,但那個(gè)好像是一體的,不知道能不能弄到句柄。
textbox可以自定義高度。只是以行高度為單位,改變字體大小即可,沒必要重寫吧。
我也自學(xué),感覺基礎(chǔ)容易學(xué),進(jìn)階資料少。循序漸進(jìn)也沒序可循,基本是在摸索。
都是想到什么問題,就立下一個(gè)目標(biāo),然后攻破他,結(jié)果可能是嘗試幾天后,發(fā)現(xiàn)目標(biāo)超出能力范圍。
晦澀是相對(duì)的,實(shí)踐出真知,多動(dòng)手,基礎(chǔ)就好了。
新建一個(gè)Winform,在和Form1平行的位置粘貼如下代碼
Public Class MyLabel Inherits Label Protected Overrides Sub OnPaint(e As PaintEventArgs) e.Graphics.DrawEllipse(New Pen(Color.Red), New Rectangle(2, 2, 10, 10)) MyBase.OnPaint(e) End Sub End Class
運(yùn)行,停掉,在工具箱找到MyLabel,拖動(dòng)就可以看到效果。這只是最基本的重寫,要模仿QQ還需要其他技術(shù)以及美工。