免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
Board logo

標題: 委派 [打印本頁]

作者: mhfo    時間: 2013-5-15 15:58     標題: 委派

我用Bill前輩的  委派演義(一) 做了實際程式碼

你先參考一下
Public Class Form1
    Public Delegate Sub DrawStr() ' 宣告一個沒有回傳值的委派型別
    Public a As DrawStr           ' 用變數存取此委派型別 (可以執行自己,因為型別有宣告自己是個Sub)
    Dim PrintStr As String = ""   ' 要印出的字串
    Private Sub Form1_Load_1(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        a = AddressOf Panel1.Refresh    ' 設定委派,當a被執行時就啟動Panel1.Refresh事件 (當然也可以改成你要的方法)
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        yy()
    End Sub

    Private Sub yy()
        PrintStr = "Test"       ' 更改字串文字
        a()                     ' 執行委派
    End Sub

    Private Sub Panel1_Paint(sender As System.Object, e As System.Windows.Forms.PaintEventArgs) Handles Panel1.Paint
        ' 注意Panel被產生時會重繪一次,若有設定字串文字就會被先印出
        e.Graphics.DrawString(PrintStr, New Font("Arial", 12), Brushes.Brown, 20, 20)
    End Sub
End Class




歡迎光臨 魚骨頭的雲端圖書館 (http://mhfo.hotbbs.info/) Powered by Discuz! 7.0.0