如此會使當按下視窗右上角的關閉圖示鈕時,會先出現提示視窗說明,若去除褐色字體程式碼時,該視窗關閉的動作將會失效(即按下右上角的關閉圖示鈕均不會有任何動作發生)。
Public Class form1 Else |
Windows 為訊息系統,訊息不斷的在視窗中與系統之間進行傳遞
而Subclassing 機制可用來 操縱 控制及修改作業系統及行程中所傳遞之訊息
亦可 保留 或 攔截 訊息, 藉由訊息的改變, 進而影響系統之行為
Subclassing 技術經常被應用於正常情況下所無法實現的功能。
VB.Net 提供了Form.WndProc 方法來處理Subclassing , 透過它來取得視窗訊息
Message.Msg 屬性: 取得或設定訊息的ID 編號。
Message.WParam 屬性: 取得或設定訊息的WParam 欄位。
MyBase : 提供方法來參考目前類別(Class) 執行個體的基底類別。
其實如果要在使用者關閉視窗時前出現提示視窗來作再次確認,可以於該視窗的 FormClosing 事件中來做處理。
Public Class form1 Private Sub form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing |
在WPF之後 Window 的 Closing 事件和應用程式的關閉已經切開了,所以 e.CloseReason (視窗被關閉的原因) 似乎已沒那麼重要了。
請參考: