首页 > 解决方案 > VB.net - 表格不会显示

问题描述

我的问题涉及一个应用程序,该应用程序目前在生产中运行了 6 个月。但上周,一位用户向我报告了这个:

最重要的是,此应用程序是对 Outlook 的补充,它允许用户通过功能区中的新选项卡创建、编辑和删除工单。

当该用户单击按钮(创建)时,应该会出现一个窗口。在我的代码中,此窗口用于两个地方,一个用于创建工单,另一个用于编辑工单。当用户想要编辑工单时,此窗口会毫无问题地出现。但只是为了创造,他不会出现。

我调用这样的窗口来创建:

Dim oForm1 As Create_form
oForm1 = New Create_form(Nothing)
oForm1.Show()

像这样进行编辑:

Dim oForm1 As Create_form
oForm1 = New Create_form(ticket)
oForm1.Show()

这是构造函数:

Public Sub New(ticket As Ticket)
    InitializeComponent()
    MaximizeBox = False
    actualTicket = ticket

    Init_List()
    Init_Fields()
End Sub

我已经在互联网上寻找解决方案,但似乎我是唯一一个遇到这个问题的人。此代码在上周之前一直适用于此人,没有任何更改。我想到的一种可能性是 Microsoft 可再发行版和 Outlook 版本(在 Outlook 2016 上开发和测试,在 Outlook 2013 上使用......)。

有任何想法吗 ?

谢谢你的帮助 !

Ps : 请原谅我的英语水平高于平均水平

标签: vb.netoutlook-addin

解决方案


首先,确保您的加载项已启用并在 Outlook 中运行。


Microsoft Office 应用程序可以禁用行为异常的 VSTO 加载项。如果应用程序未加载您的 VSTO 外接程序,则该应用程序可能已硬禁用或软禁用您的 VSTO 外接程序。

当 VSTO 外接程序导致应用程序意外关闭时,可能会发生硬禁用。Startup如果在 VSTO 外接程序中的事件处理程序正在执行时停止调试器,它也可能发生在您的开发计算机上。

当 VSTO 外接程序产生不会导致应用程序意外关闭的错误时,可能会发生软禁用。例如,如果应用程序在启动事件处理程序执行时抛出未处理的异常,则应用程序可能会软禁用 VSTO 加载项。

当您重新启用软禁用的 VSTO 外接程序时,应用程序会立即尝试加载 VSTO 外接程序。如果最初导致应用程序软禁用 VSTO 插件的问题尚未修复,应用程序将再次软禁用 VSTO 插件。在如何:重新启用已禁用的 VSTO 加载项一文中了解更多相关信息。


很可能该表单显示在 Outlook 窗口的后面。要在 Outlook 窗口顶部显示表单,您需要指定父窗口句柄。在基于 .net 的应用程序或加载项中,您通常使用 Windows 窗体类来显示一个窗口。类的ShowShowDialog方法System.Windows.Forms.Form接受IWin32Window代表父窗口句柄的接口实例。有关详细信息,请参阅如何将 Window.Owner 设置为 Outlook 窗口


推荐阅读