Vb.net 工具条菜单项没有调用方法,如何使用后台线程更新
IntelliSense声明工具条菜单项没有调用方法。我有红色的曲线。如何在没有委托/调用的情况下进行更新Vb.net 工具条菜单项没有调用方法,如何使用后台线程更新,vb.net,visual-studio,Vb.net,Visual Studio,IntelliSense声明工具条菜单项没有调用方法。我有红色的曲线。如何在没有委托/调用的情况下进行更新 Private Delegate Sub AppendTSMIDelegate(ByVal TMSI As ToolStripMenuItem, ByVal b As Boolean) Private Sub AppendTSMI(ByVal TSMI As ToolStripMenuItem, ByVal b As Boolean) If **TSMI.InvokeR
Private Delegate Sub AppendTSMIDelegate(ByVal TMSI As ToolStripMenuItem, ByVal b As Boolean)
Private Sub AppendTSMI(ByVal TSMI As ToolStripMenuItem, ByVal b As Boolean)
If **TSMI.InvokeRequired** Then
TSMI.Invoke(New AppendTSMIDelegate(AddressOf AppendTSMI), New Object() {TSMI, b})
Else
'TSMI.
End If
答案是检查toolstrip上的调用状态。经过深思熟虑和阅读,我终于找到了答案
Private Sub AppendTSMI(ByVal TSMI As ToolStripMenuItem, ByVal b As Boolean)
Dim ST1 As StatusStrip = StatusStrip1
If ST1.InvokeRequired Then
ST1.Invoke(New AppendTSMIDelegate(AddressOf AppendTSMI), New Object() {TSMI, b})
Else
TSMI.Checked = b
End If
End Sub
使用表单的成员。使用这些成员的对象并不重要,只要它属于适当的线程。顺便说一句,如果可以对sub使用
Action
,对函数使用Func
,则无需声明自己的委托类型。谢谢,我会详细阅读。