Outlook插件-Visual Basic Windows窗体应用程序-WebBrowser控件内容不再显示

时间:2019-07-03 05:54:03

标签: .net windows forms outlook basic

我们正在使用Outlook外接程序(Visual Basic .NET Framework 4客户端配置文件,Office 365业务16.0.11727.20230)在WebBrowser控件中显示某些内容。我对Visual Basic不太熟悉,因为其他人创建了此插件,并且他现在不再可用,所以首先对不起,如果我犯了任何基本错误。

实际上,该控件应显示一些.xml内容,但是为了简化问题,我暂时仅尝试显示网页https://www.google.at。 在此插件中显示内容始终可以正常工作,并且自从上次Windows /办公室更新以来,我得到的是一个白色屏幕,没有代码错误。 如果我创建了一个新的Windows窗体应用程序,并且该控件在没有Outlook的情况下运行,则显示的内容没有任何问题(uri和实际的.xml),因此我认为它与新的Outlook安全性设置或类似内容有关。 / p>

该控件使用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控件不显示内容。

感谢您提供任何帮助或建议,以帮助我重新获得控制权以显示其中的某些内容。

1 个答案:

答案 0 :(得分:0)

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

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

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