How to display the string html contents into webbrowser control?

前端 未结 9 1580
不知归路
不知归路 2020-11-27 06:47

I have a c# win app program. I save the text with html format in my database but I want to show it in a webbrowser to my user.How to display the string html contents into we

9条回答
  •  囚心锁ツ
    2020-11-27 07:17

    Old question, but here's my go-to for this operation.

    If browser.Document IsNot Nothing Then
        browser.Document.OpenNew(True)
        browser.Document.Write(My.Resources.htmlTemplate)
    Else
        browser.DocumentText = My.Resources.htmlTemplate
    End If
    

    And be sure that any browser.Navigating event DOES NOT cancel "about:blank" URLs. Example event below for full control of WebBrowser navigating.

    Private Sub browser_Navigating(sender As Object, e As WebBrowserNavigatingEventArgs) Handles browser.Navigating
    
        Try
            Me.Cursor = Cursors.WaitCursor
    
            Select Case e.Url.Scheme
    
                Case Constants.App_Url_Scheme
    
                    Dim query As Specialized.NameValueCollection = System.Web.HttpUtility.ParseQueryString(e.Url.Query)
    
                    Select Case e.Url.Host
    
                        Case Constants.Navigation.URLs.ToggleExpander.Host
    
                            Dim nodeID As String = query.Item(Constants.Navigation.URLs.ToggleExpander.Parameters.NodeID)
    
                            :
                            :
                            
                            :
                            :
    
                    End Select
    
                Case Else
                    e.Cancel = (e.Url.ToString() <> "about:blank")
    
            End Select
    
        Catch ex As Exception
            ExceptionBox.Show(ex, "Operation failed.")
        Finally
            Me.Cursor = Cursors.Default
        End Try
    
    End Sub
    

提交回复
热议问题