VS2012 中的 Windows 表單應用程式
目標 .NET 框架:4.5
創建了一個專案,其中包含一個表單 (Form1) 和一個類 (Class1)。表單有一個按鈕 (Button1) 物件。下面的代碼:
第一類:
Imports System.ComponentModel
Public Class Class1
Implements INotifyPropertyChanged
Private _PropValue As String
Public Property PropValue As String
Get
Return _PropValue
End Get
Set(value As String)
_PropValue = value
RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("PropValue"))
MsgBox("Event Raised") ' FOR TESTING
End Set
End Property
Public Event PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Implements INotifyPropertyChanged.PropertyChanged
End Class
表格1:
Imports System.ComponentModel
Public Class Form1
Private WithEvents _Class1 As Class1
Private Sub _Class1_PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Handles _Class1.PropertyChanged
MsgBox("Property Changed subroutine") ' FOR TESTING
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim tmpObj As Class1 = New Class1
tmpObj.PropValue = "Value-1"
tmpObj.PropValue = "Value-2"
End Sub
End Class
執行應用程式并單擊 Button1 時,從 Class1 中的 MsgBox 收到 2 條彈出訊息“事件引發”。我正在嘗試從 _Class1_PropertyChanged 子例程中獲取訊息“Property Changed subroutine”。到目前為止還沒有成功。
uj5u.com熱心網友回復:
您不會更改正在處理其事件的物件的屬性值。您正在處理分配給欄位的物件的事件,但您正在更改分配給區域變數_Class1的不同物件的屬性值。tmpObj擺脫該區域變數并僅使用該欄位。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/525269.html
下一篇:“System.Windows.Forms.PlaceholderTextBox,Text:”使用myPHPAdmin在MySQL資料庫中插入資料時出錯
