トップ回答者
WebBrowserで、ComboBoxをコントロールする方法は?

質問
-
ComboBoxを使ったwebページがあり、ComboBoxをマウスでクリックすると
表示されている内容が変わります。
これを、WebBrowser内でコントロールしたいと思います。
ComboBoxのHTMLは、次の通り
<select class="pdownBlog" onchange="document.blog_navi.submit();return false;" name="blog_id"> <option title="タイトル1" selected="" value="796307">表示1 [メイン]</option> <option title="タイトル2" value="794913">表示2</option> <option title="タイトル3" value="792724">表示3</option> <option title="タイトル4" value="789991">表示4</option> <option title="タイトル5" value="787894">表示5</option> </select>
この時に使ったソースコードは、次の通り。
WebBrowser1.Document.GetElementsByTagName("SELECT")(0) _ .SetAttribute("selectedIndex", "2")
実行すると、ComboBoxの表示は変わりますが
Webページの切り替えができません。
「InvokeMember("Click")」などを使えば、できそうな気もしますがやり方が分かりません。
どのように対応したら良いですか。
ご教示願います。
回答
-
ComboBoxの表示を変えた後にsubmitしてみてはいかがでしょうか? 以下にsubmitのやり方が載っています。
(参考)
WebBrowserコントロール内のテキストボックスに文字列をセットするには?[2.0、C#、VB]
http://www.atmarkit.co.jp/fdotnet/dotnettips/860controlwb/controlwb.html
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 編集済み trapemiyaModerator 2012年2月15日 2:04
- 回答としてマーク taokato 2012年2月15日 2:52
-
Webページの切り替え=onchangeイベントによるsubmit()の実行のことかと思います。その方法についてはtrapemiyaさんの書かれている通りです。
参考までになぜonchangeイベントが発生しないかについてですが、SELECT要素のドキュメント、そのonchangeイベントにはこう書かれています。
- Choose a different option in a select object using mouse or keyboard navigation.
- Alter text in the text area and then navigate out of the object.
ですので、WebBrowserコントロールのオブジェクト操作をしてもマウスやキーボードからではないためにイベントが発生しないのかと。
- 回答としてマーク taokato 2012年2月15日 2:52
すべての返信
-
ComboBoxの表示を変えた後にsubmitしてみてはいかがでしょうか? 以下にsubmitのやり方が載っています。
(参考)
WebBrowserコントロール内のテキストボックスに文字列をセットするには?[2.0、C#、VB]
http://www.atmarkit.co.jp/fdotnet/dotnettips/860controlwb/controlwb.html
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 編集済み trapemiyaModerator 2012年2月15日 2:04
- 回答としてマーク taokato 2012年2月15日 2:52
-
Webページの切り替え=onchangeイベントによるsubmit()の実行のことかと思います。その方法についてはtrapemiyaさんの書かれている通りです。
参考までになぜonchangeイベントが発生しないかについてですが、SELECT要素のドキュメント、そのonchangeイベントにはこう書かれています。
- Choose a different option in a select object using mouse or keyboard navigation.
- Alter text in the text area and then navigate out of the object.
ですので、WebBrowserコントロールのオブジェクト操作をしてもマウスやキーボードからではないためにイベントが発生しないのかと。
- 回答としてマーク taokato 2012年2月15日 2:52