0

次のようなダイアログを開くアプリケーションで「ヘルプ」機能を作成しました。

アプリケーションのスクリーンショット

左側のコントロールはTreeView. 右側のコントロールはWebBrowser. は、 (画像を含む HTML)WebBrowserに変換された Word ドキュメントで満たされています。.mhtml

画像でわかるように、テーブルを使用しています。リンクはクリック可能で、ユーザーはドキュメント上の場所に移動します。その表をTreeView左側に表示する方法はありますか? 可能であれば、希望の結果を得る方法を示す例を教えてもらえますか?

編集:

<h2 style=3D'mso-list:l9 level2 lfo12'><a name=3D"_Toc353271009"><![if !sup=
portLists]><span
style=3D'mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;
mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin'><span
style=3D'mso-list:Ignore'>2.2<span style=3D'font:7.0pt "Times New Roman"'>&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>Eerste keer opstarten Liveduiven Client</a><=
/h2>

上記のコードは、テーブルからのリンクです。

より明確にするための別のリンク:

style='mso-no-proof:yes'><o:p></o:p></span></p>
 <p class=MsoToc1 style='tab-stops:22.0pt right dotted 481.45pt'><span
 class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc353271007">2<span
 style='color:windowtext;text-decoration:none;text-underline:none'><span
 style='mso-tab-count:1'>       </span></span>DE LIVEDUIVEN CLIENT<span
 style='color:windowtext;display:none;mso-hide:screen;text-decoration:none;
 text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span>
4

1 に答える 1

1

あなたのhtmlコンテンツの構造はわかりませんが、例を書きます(どうすればこれを行うことができますか):

あなたのURLに移動します

  private void Form1_Load(object sender, EventArgs e)
        {
            webBrowser1.Navigate("http://en.wikipedia.org/wiki/Microsoft");
        }

ページの件名の要素を取得する

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            //Get header of subject
            foreach (HtmlElement elementintable in webBrowser1.Document.GetElementById("toc").All)
            {
                if (elementintable.TagName == "A")
                {
                    //insert key and string to each node
                    treeView1.Nodes.Add(elementintable.GetAttribute("href").Split('#')[1], elementintable.InnerText);
                }
            }
        }

選択したノード キーを取得

        private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            //navigate to selected anchor
            webBrowser1.Document.GetElementById(e.Node.Name).ScrollIntoView(true);
        }

結果

ここに画像の説明を入力

完全なコード

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //Navibate To your url
        private void Form1_Load(object sender, EventArgs e)
        {
            webBrowser1.Navigate("http://en.wikipedia.org/wiki/Microsoft");
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            //Get header of subject
            foreach (HtmlElement elementintable in webBrowser1.Document.GetElementById("toc").All)
            {
                if (elementintable.TagName == "A")
                {
                    //insert key and string to each node
                    treeView1.Nodes.Add(elementintable.GetAttribute("href").Split('#')[1], elementintable.InnerText);
                }
            }
        }

        private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            //navigate to selected anchor
            webBrowser1.Document.GetElementById(e.Node.Name).ScrollIntoView(true);
        }
    }
于 2013-04-09T15:52:36.137 に答える