Я очень усердно работал над выяснением этого и просто не могу понять события.Может ли кто-нибудь помочь мне понять процесс события в моем коде?Или скажите мне, почему мое изображение не переключается при запуске кода?
Объявления класса и членов
Partial Public Class Name
Implements IChat
Private member As String
Private instanceContext As InstanceContext
Private participant As IChatChannel
Private ostat As IOnlineStatus
Private factory As DuplexChannelFactory(Of IChatChannel)
Внутри моего Connect Sub
'Construct InstanceContext to handle messages on callback interface.
' An instance of ChatApp is created and passed to the InstanceContext.
instanceContext = New InstanceContext(Me)
' Create the participant with the given endpoint configuration
' Each participant opens a duplex channel to the mesh
' participant is an instance of the chat application that has opened a channel to the mesh
factory = New DuplexChannelFactory(Of IChatChannel)(instanceContext, "ChatEndpoint")
participant = factory.CreateChannel()
' Retrieve the PeerNode associated with the participant and register for online/offline events
' PeerNode represents a node in the mesh. Mesh is the named collection of connected nodes.
ostat = participant.GetProperty(Of IOnlineStatus)()
AddHandler ostat.Online, AddressOf Me.OnOnline
AddHandler ostat.Offline, AddressOf Me.OnOffline
Subподпрограммы, которые должны изменить образ
Public Sub Join(ByVal member As String) Implements IChat.Join
instanceShellProp.imgP2P.Image = Namespace.My.Resources.Offline
MsgBox("JOINED OFFLINE")
End Sub
Public Sub Leave1(ByVal member As String) Implements IChat.Leave
instanceShellProp.imgP2P.Image = Namespace.My.Resources.Disconnected
MsgBox("NOT CONNECTED")
End Sub
Public Sub OnOnline(ByVal sender As Object, ByVal e As EventArgs)
instanceShellProp.imgP2P.Image = Namespace.My.Resources.Online
MsgBox("JOINED ONLINE")
End Sub
Public Sub OnOffline(ByVal sender As Object, ByVal e As EventArgs)
instanceShellProp.imgP2P.Image = Namespace.My.Resources.Offline
MsgBox("JOINED OFFLINE")
End Sub
instanceShellProp возвращает экземпляр командной консоли, который является контейнером MDI.
Все изображения находятся в ресурсах и правильно написаны и на них ссылаются.Появится всплывающее окно MessageBox, но изображения не изменятся, за исключением присоединения.
Я не пытаюсь выполнить дамп кода, просто пытаюсь убедиться, что вы видите то, что я смотрю, и разрешить вамдайте лучший совет.
Вся помощь приветствуется!
РЕДАКТИРОВАТЬ
Хорошо, я нахожу это странным ... Я чувствую, что приближаюсь.Когда окно сообщения не закомментировано, изображение изменится, когда оно закомментировано, изображение не изменится.Любые лучшие предложения о том, как заставить это работать?
Public Sub OnOnline(ByVal sender As Object, ByVal e As EventArgs)
With instanceShellProp.imgP2P
.Image = Nothing
.Visible = True
End With
'MsgBox("JOINED ONLINE")
With instanceShellProp.imgP2P
.Image = Namespace.My.Resources.Online
.Visible = True
End With
End Sub