【问题标题】:Outlook Addin - Visual Basic Windows Forms Application - WebBrowser Control Content not displayed anymoreOutlook 插件 - Visual Basic Windows 窗体应用程序 - WebBrowser 控件内容不再显示
【发布时间】:2019-07-03 05:54:03
【问题描述】:

我们正在使用一个 Outlook 插件(Visual Basic .NET Framework 4 客户端配置文件,Office 365 商业版 16.0.11727.20230),它在 WebBrowser 控件中显示一些内容。我对 Visual Basic 不太熟悉,因为其他人创建了这个插件,而他现在不再可用,所以如果我犯了任何基本错误,首先抱歉。

实际上该控件应该显示一些 .xml 内容,但为了简化问题,我目前只是尝试显示网页 https://www.google.at。 在此插件中显示内容始终有效,自上次 Windows/office 更新以来,我得到的只是一个没有代码错误的白屏。 如果我使用相同的控件创建一个新的 Windows 窗体应用程序,该控件在没有 Outlook 的情况下运行,则内容显示没有任何问题(uri 和实际的 .xml),所以我认为它与新的 Outlook 安全设置或类似的东西有关。

该控件使用 lib Windows.Forms.WebBrowser 并且 url 设置如下:

 Public Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Dim url = "https://www.google.at"           
            Call WebBrowser1.Navigate(New System.Uri(url))
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

我已经想通了,如果我在文件/常规选项下启用“优化兼容性”设置,控件会显示我的内容,但实际上我希望它在不使用该设置的情况下显示内容,因为我认为这不应该有必要。

显示内容的另一种方法是使用“Microsoft Web 浏览器”(AxSHDocVw.AxWebBrowser) 控件。这个也显示了我的内容,但有一个较旧的 UI,我不知道如何用这个禁用滚动条。 不知道这些信息是否有助于找出 System.Windows.Forms 控件不显示内容的原因。

感谢任何帮助或建议我如何让我的控制权在其中显示一些内容。

【问题讨论】:

    标签: .net windows forms outlook basic


    【解决方案1】:

    WebBrowser 控件是ActiveX WebBrowser 控件的托管包装,并使用用户计算机上安装的任何版本的控件。

    部分受信任的代码不能使用WebBrowser 控件。如需更多信息,请参阅Using Libraries from Partially Trusted Code

    WebBrowser 类只能在设置为单线程单元 (STA) 模式的线程中使用。要使用此类,请确保您的 Main 方法标记有 STAThreadAttribute 属性。

    【讨论】:

    • 我现在尝试用STATThreadAttribute 标记所有内容,但窗口仍然是白色的。你有什么其他建议我可以尝试吗?如果我稍等一下,我希望还有其他人遇到这个问题,但仍然没有关于这个主题的其他帖子。
    猜你喜欢
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    相关资源
    最近更新 更多