我正在尝试调用以下内容,但EventHander与我的调用事件中的RasConnectionEventArgs不兼容,如何在UI线程上调用SetOverlayIcon和我的通知图标?
Public Sub watcher_Connected(ByVal sender As Object, ByVal e As RasConnectionEventArgs)
If InvokeRequired Then
BeginInvoke(New EventHandler(AddressOf OnRegChanged))
Else
TaskbarManager.Instance.SetOverlayIcon(My.Resources.LockIcon, "Connected")
Me.NotifyIcon.ShowBalloonTip(5000, "Connected", e.Connection.EntryName, ToolTipIcon.Info)
End Sub
答案 0 :(得分:2)
Jeff Winn对您的支持请求的回复:
RasConnectionWatcher类是 多线程,因此你只需要 设置SynchronizingObject 组件上的属性。如果你有 表单上的组件,您可以设置 它到表单实例。它会 处理线程同步 你自动设置好了。
或者这样做:
If InvokeRequired Then
BeginInvoke(New EventHandler(Of RasConnectionEventArgs)(AddressOf watcher_Connected), sender, e)
Else
'' etc...
End If
我猜是代表类型名称。
答案 1 :(得分:0)
错过了线程同步对象:watcher.SynchronizingObject = Me