teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

不要な文を削除、一部の文を修正。

2021/11/11 04:26

投稿

dodox86
dodox86

スコア9416

answer CHANGED
@@ -83,10 +83,8 @@
83
83
  }
84
84
  }
85
85
  ```
86
- このプログラムは下記画面持ちます。
86
+ このプログラムは、button1を押すと`textBox1`に入力されたURLに`Navigate`メソッドでアクセスします。WebBrowserコントロールである`webBrowser1``DocumentComplete`イベントが発生したらHTMLドキュメントの読み込みが終わったことになります。button2押すとWebBrowserコントロール中に表示されているHTMLのテキストボックスに"12345"を入力し、button3を押すとHTMLのサブミットボタンを押下します。`SendKeys`クラスを使ってキーボード押下をシミュレートする必要はありません。
87
87
 
88
- button1を押すと`textBox1`に入力されたURLに`Navigate`メソッドでアクセスします。WebBrowserコントロールである`webBrowser1`の`DocumentComplete`イベントが発生したらHTMLドキュメントの読み込みが終わったことになります。button2を押すとWebBrowserコントロール中に表示されているHTMLのテキストボックスに"12345"を入力し、button3を押すとHTMLのサブミットボタンを押下します。`SendKeys`クラスを使ってキーボード押下をシミュレートする必要はありません。
89
-
90
88
  ローカルPCでWEBサーバーを動作させ、動かしている様子が以下です。
91
89
  ![イメージ説明](afb402b2e54989762a1ed71e29272a50.gif)
92
90
  尚、`WebBrowser`コントロールはInternet Explorerのコンポーネントを使ったものであり、現在ではそれではなく`WebView2`の使用が推奨されています。私自身、今回久しぶりに`WebBrowser`コントロールを使ってみたもののInternet Explorerの設定にひきずられることが多く、使いづらく感じることも多かったです。`WebView2`については本回答では触れませんので、詳しくは別途あたってみてください。

3

Navigate()でのフォーム送信について追記

2021/11/11 04:26

投稿

dodox86
dodox86

スコア9416

answer CHANGED
@@ -89,4 +89,13 @@
89
89
 
90
90
  ローカルPCでWEBサーバーを動作させ、動かしている様子が以下です。
91
91
  ![イメージ説明](afb402b2e54989762a1ed71e29272a50.gif)
92
- 尚、`WebBrowser`コントロールはInternet Explorerのコンポーネントを使ったものであり、現在ではそれではなく`WebView2`の使用が推奨されています。私自身、今回久しぶりに`WebBrowser`コントロールを使ってみたもののInternet Explorerの設定にひきずられることが多く、使いづらく感じることも多かったです。`WebView2`については本回答では触れませんので、詳しくは別途あたってみてください。
92
+ 尚、`WebBrowser`コントロールはInternet Explorerのコンポーネントを使ったものであり、現在ではそれではなく`WebView2`の使用が推奨されています。私自身、今回久しぶりに`WebBrowser`コントロールを使ってみたもののInternet Explorerの設定にひきずられることが多く、使いづらく感じることも多かったです。`WebView2`については本回答では触れませんので、詳しくは別途あたってみてください。
93
+
94
+ ---
95
+ **`Navigate`メソッドでのフォームの送信について追記:**
96
+
97
+ 当初のご質問内容が`WebBrowser`コントロールを使ったものであり、表示中のHTMLの検索ボタンらしきものを押下したいという要望から回答したものでしたが、読み出したバーコード、あるいは何かしらの値で検索をしたいということはその検索用のURLに(おそらくはGETメソッドで)アクセスしたいということなのでしょうから、`WebBrowser`コントロールを使っているのであれば、その検索用URLにフォームのパラメータ付きで`Navigate`メソッドを呼び出してしまえばボタンの押下操作すら必要なくなります。例えば
98
+ ```C#
99
+ webBrowser1.Navigate("http://server/doAction?code=1234678");
100
+ ```
101
+ のように扱います。この辺りの知識はHTTPやHTMLのもので補完してください。

2

ボタン3つ全てを押下した実行例の動画で差し替え

2021/11/11 04:18

投稿

dodox86
dodox86

スコア9416

answer CHANGED
@@ -88,5 +88,5 @@
88
88
  button1を押すと`textBox1`に入力されたURLに`Navigate`メソッドでアクセスします。WebBrowserコントロールである`webBrowser1`の`DocumentComplete`イベントが発生したらHTMLドキュメントの読み込みが終わったことになります。button2を押すとWebBrowserコントロール中に表示されているHTMLのテキストボックスに"12345"を入力し、button3を押すとHTMLのサブミットボタンを押下します。`SendKeys`クラスを使ってキーボード押下をシミュレートする必要はありません。
89
89
 
90
90
  ローカルPCでWEBサーバーを動作させ、動かしている様子が以下です。
91
- ![イメージ説明](dd452e728648663456cb4ea824d1650c.gif)
91
+ ![イメージ説明](afb402b2e54989762a1ed71e29272a50.gif)
92
92
  尚、`WebBrowser`コントロールはInternet Explorerのコンポーネントを使ったものであり、現在ではそれではなく`WebView2`の使用が推奨されています。私自身、今回久しぶりに`WebBrowser`コントロールを使ってみたもののInternet Explorerの設定にひきずられることが多く、使いづらく感じることも多かったです。`WebView2`については本回答では触れませんので、詳しくは別途あたってみてください。

1

画像添付漏れの為追記。

2021/11/11 03:41

投稿

dodox86
dodox86

スコア9416

answer CHANGED
@@ -88,5 +88,5 @@
88
88
  button1を押すと`textBox1`に入力されたURLに`Navigate`メソッドでアクセスします。WebBrowserコントロールである`webBrowser1`の`DocumentComplete`イベントが発生したらHTMLドキュメントの読み込みが終わったことになります。button2を押すとWebBrowserコントロール中に表示されているHTMLのテキストボックスに"12345"を入力し、button3を押すとHTMLのサブミットボタンを押下します。`SendKeys`クラスを使ってキーボード押下をシミュレートする必要はありません。
89
89
 
90
90
  ローカルPCでWEBサーバーを動作させ、動かしている様子が以下です。
91
-
91
+ ![イメージ説明](dd452e728648663456cb4ea824d1650c.gif)
92
92
  尚、`WebBrowser`コントロールはInternet Explorerのコンポーネントを使ったものであり、現在ではそれではなく`WebView2`の使用が推奨されています。私自身、今回久しぶりに`WebBrowser`コントロールを使ってみたもののInternet Explorerの設定にひきずられることが多く、使いづらく感じることも多かったです。`WebView2`については本回答では触れませんので、詳しくは別途あたってみてください。