-4

WYSIWYG(表示されるものは取得するもの)エディターと同様に、ユーザーがhtmlドキュメントを視覚的に編集してオブジェクトを移動できるようにします。WebブラウザコントロールのこれらのHTML編集機能をオンにするにはどうすればよいですか?

私が持っている環境は、Visual Studio 2010、Windows764ビットです。

Webブラウザコントロール( http://msdn.microsoft.com/en-us/library/aa752040%28v=VS.85%29.aspx )のHTML編集機能を有効にしたい。

注:Webブラウザコントロールのコードは専用のエディタで使用されており、ここに投稿するには大きすぎて数が多すぎますが、完全なソースが必要な場合は、後でリンクを投稿できます。これは大規模なプロジェクトです。投稿する前にグーグルで会話して検索しようとしたので、ここを参照してください:http ://social.msdn.microsoft.com/Forums/vstudio/en-US/1e5acdb2-9366-4258-890a -86eaaa1086ee/html-expert-needed

4

2 に答える 2

2

WebBrowserコントロールには、WYSIWYGミニHTMLエディターが組み込まれています。あなたはそれを使うことができます。その編集モードをオンにする方法の例を次に示します。

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    ' I do this for this example, so that we have some elements loaded. 
    ' For you, you will need to add the tags from your code for various HTML elements.
    WebBrowser1.Navigate("http://google.com")
End Sub

Private Sub WebBrowser1_DocumentCompleted(sender As System.Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    ' To turn On the edit mode.
    Dim axObj As New Object
    axObj = WebBrowser1.ActiveXInstance
    axObj.document.designmode = "On"
End Sub
于 2012-12-09T10:31:14.667 に答える
0

これを読んでいる新しい人のために、上記のmsdnフォーラムの投稿から引用しているすべてを最終的に解決した関連コードセクションがあります:

Private Sub wb_DocumentCompleted(ByVal sender As Object、ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)Handleswb.DocumentCompleted'Tabp.wb_DocumentCompleted-インターネット関連のドキュメント完了ルーチン

    If doc IsNot Nothing Then
        If m_EditMode = True Then
            doc.designMode = "On"
        Else
            doc.designMode = "Off"
        End If
    End If

    If wb.Document IsNot Nothing Then HTMLDOC = wb.Document

    If wb.CanGoBack Then
        mbBack.ImageIndex = ImglstImages.cVLeftArrowQuiescent
        mbBack.Enabled = True
    Else
        mbBack.ImageIndex = ImglstImages.cVLeftArrowGreyed
        mbBack.Enabled = False
    End If
    If wb.CanGoForward Then
        mbforward.Enabled = True
        mbforward.ImageIndex = ImglstImages.cVRightArrowQuiescent
    Else
        mbforward.Enabled = False
        mbforward.ImageIndex = ImglstImages.cVRightArrowGreyed
    End If
    wb.AllowNavigation = False
    cmbxAddressbar.Text = wb.Url.ToString
    AddIfUnique(cmbxAddressbar.Text)
    If Form1.GetClassIdentifier = m_ClassIdentifier Then Form1.ProgBar.Visible = False
    wb.AllowNavigation = True
    PU.Clear() '''''
    wb.Focus()
End Sub

これが私が持っているすべてのアドレスの質問です。結論として、これが使用されたコードの2つの主な問題は次のとおりです。

  1. html編集機能はWindows7sp1で無効にされており、使用が禁止されています(以下の回答の前に、私が支援していた元の作成者は、HTMLエディターを正しくコーディングできませんでした)。
  2. コードの元の作成者には、新しいWindows7sp1環境で正しく機能しない前にコードを作成するdocument_completedイベントが含まれていませんでした。注:これは個人的なコーディングプロジェクトであり、作成者は私にコードの使用や必要に応じて編集する許可を与えてくれました。注:これは、上記で使用した元の回答です。私は自分のコードを見せたかったので、誰もが私がこれを空中でやっているとは思わなかった。
于 2012-12-07T20:36:44.607 に答える