VB.Net 如何判斷使用者點了 Form 上的 X
如何 判斷 使用者 點了 Form 上的 X
Public Class Form1
' Form.WndProc 方法
' VB.Net 提供了Form.WndProc 方法來處理Subclassing , 透過它來取得視窗訊息
' Protected : 指定已宣告的程式設計項目只可從自己的類別或從衍生類別中進行存取。
' Overrides : 指定屬性或程序會覆寫自基底類別繼承的相同命名屬性或程序。
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
' 參數Message : 可實作Windows 訊息。
' Message.Msg 屬性: 取得或設定訊息的ID 編號。
' Message.WParam 屬性: 取得或設定訊息的WParam 欄位。
If m.Msg = 161 And m.WParam = 20 Then
MessageBox.Show("哇! 你點到X 了.. Form 即將關閉 !")
Me.Close()
End If
' MyBase : 提供方法來參考目前類別(Class) 執行個體的基底類別。
MyBase.WndProc(m) ' 處理Windows 訊息。
End Sub
End Class
Windows 為訊息系統,訊息不斷的在視窗中與系統之間進行傳遞
而Subclassing 機制可用來 操縱 控制及修改作業系統及行程中所傳遞之訊息
亦可 保留 或 攔截 訊息, 藉由訊息的改變, 進而影響系統之行為
Subclassing 技術經常被應用於正常情況下所無法實現的功能。