私はG_USERが、その後変更されたときにどのように私は、グローバルイベントを作成することができ、ユーザ名を表示する文字列やラベルlb_welcomeなどのグローバル変数G_USERを持っているが、機能にグローバルイベントの作成方法は?
Private Sub Login()
g_user = VerifyUser(id,password)
lb_welcome.Text = $"Welcome {g_user}"
End Sub
がトリガされます私はこのような何かをしよう -
上記Private Sub RefreshLabel()
lb_welcome.Text = $"Welcome {g_user}"
End Sub
Private Sub g_user_Changed(sender As Object, e As EventArgs) Handles g_user.Changed
RefreshLabel()
End Sub
一例であり、lb_welcome.Textは、多くのグローバル変数が含まれている、私は常に変数が変更されたとき、手動で機能を追加する必要があり、それは私が自動的に関数を実行を支援するグローバルイベントを作成することは可能でしょうか?
Public Module MyModule
Public Event Changed As EventHandler(Of ChangedEventArgs)
Private _user As String
Public Property g_user As String
Get
Return _user
End Get
Set(value As String)
_user = value
raisePropertyChanged("g_user", value)
End Set
End Property
Private Sub raisePropertyChanged(propertyName As String, value As String)
RaiseEvent Changed(Nothing, New ChangedEventArgs() With {.PropertyName = propertyName, .Value = value})
End Sub
End Module
のEventArgsはかなりまっすぐ進むです:
Public Class ChangedEventArgs
Inherits EventArgs
Public PropertyName As String
Public Value As String
End Class
あなたはあなたの特性の一つ(ここではG_USER)が変更された場合に発生されるモジュールでのパブリックイベントを定義する必要が
VB .NETには*グローバル変数はありません。あなたのタグが正しいと確信していますか? VB 6を使用していますか? –
@AlexB。 public g_user As Stringこれはモジュール内にあり、この変数はすべての形式で使用できるので、これはグローバル変数だと思いますか? VB6ではなくVB.NETを使用しています。 – vbnewbie
モジュール内の公開変数はグローバルなものです...マイクロソフトが提供している汚れたハックを忘れていました... –