首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >InvokeRequired AddIn:如何调用Outlook?

InvokeRequired AddIn:如何调用Outlook?
EN

Stack Overflow用户
提问于 2013-05-09 19:26:57
回答 1查看 223关注 0票数 0

在我的Outlook2013 VSTO AddIn中,我有这样的代码:

代码语言:javascript
运行
复制
Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
    Task.Run(Sub() DoStuff())
End Sub

Private Sub DoStuff()
    ' Do some long task stuff
    Call StuffDone() 
End Sub

Private Sub StuffDone()
    If ????.InvokeRequired Then
        ????.Invoke(New MethodInvoker(AddressOf StuffDone))
        Exit Sub
    End If

    Dim f As New Form1
    f.Show()
End Sub

但是我不知道如何调用InvokeRequired,因为没有mainform??

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-11 03:10:43

为什么你觉得你需要给InvokeRequired打电话?

在我的例子中,我要做的是在VSTO项目中包含一个Windows窗体。我将Outlook应用程序引用从外接程序传递到Windows窗体,然后Windows窗体可能会产生一个或多个线程,这些线程也可能接收和访问Outlook应用程序(在锁定引用之后)。线程用来更新图形用户界面的Windows Form方法具有您提到的InvokeRequired检查。我不能保证这是微软推荐的方法,但我可以说,在我的例子中,它已经在我身上工作了一年多,没有任何错误。

如果你喜欢按你自己的方式去做,我想应该是:如果(f.InvokeRequired) ...

但我不确定为什么这是必要的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16460679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档