回答編集履歴

5

追記

2018/11/28 06:20

投稿

kenshirou
kenshirou

スコア772

test CHANGED
@@ -36,6 +36,20 @@
36
36
 
37
37
  // 後はやりたい処理を以下に書く
38
38
 
39
+
40
+
41
+
42
+
43
+
44
+
45
+ label1.Text = "接続先URL1接続完了"; //追記:ここでようやくラベル変更可能
46
+
39
47
  }
40
48
 
41
49
  ```
50
+
51
+ ### 追記
52
+
53
+ button1_Clickで、webBrowser1.Navigateの後にlabel1.Textを"接続先URL1接続完了"に書き換えていますが、これでは読込完了前にlabel1.Textが"接続先URL1接続完了"になってしまいます。
54
+
55
+ 正しくは、DocumentCompletedイベントで対象のURLの読み込みが確認できてから、label1.Textを"接続先URL1接続完了"にすればよいです(上記コードの追記コメント参照)。

4

表記の修正

2018/11/28 06:20

投稿

kenshirou
kenshirou

スコア772

test CHANGED
@@ -18,9 +18,11 @@
18
18
 
19
19
 
20
20
 
21
- 今回の回避策として試してほしいのは、DocumentCompletedイベントハンドラ内で、例えばif(e.Url.Tostring == WebBrowser1.Url.ToString)のような条件を付けるといいしょう
21
+ 今回の回避策として試してほしいのは、DocumentCompletedイベントハンドラ内で、例えばif(e.Url.Tostring == WebBrowser1.Url.ToString)のような条件を付けるとで
22
22
 
23
23
  (専門がVBのため、おかしなところがあるかも知れません。)
24
+
25
+ ※関係演算子の誤りを修正しました。
24
26
 
25
27
  ```C#
26
28
 

3

誤記の訂正

2018/11/28 06:08

投稿

kenshirou
kenshirou

スコア772

test CHANGED
@@ -28,7 +28,7 @@
28
28
 
29
29
  {
30
30
 
31
- if(e.Url.Tostring == WebBrowser1.Url.ToString) return;
31
+ if(e.Url.Tostring != WebBrowser1.Url.ToString) return;
32
32
 
33
33
 
34
34
 

2

コードの追加

2018/11/28 06:03

投稿

kenshirou
kenshirou

スコア772

test CHANGED
@@ -19,3 +19,21 @@
19
19
 
20
20
 
21
21
  今回の回避策として試してほしいのは、DocumentCompletedイベントハンドラ内で、例えばif(e.Url.Tostring == WebBrowser1.Url.ToString)のような条件を付けるといいでしょう。
22
+
23
+ (専門がVBのため、おかしなところがあるかも知れません。)
24
+
25
+ ```C#
26
+
27
+ private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
28
+
29
+ {
30
+
31
+ if(e.Url.Tostring == WebBrowser1.Url.ToString) return;
32
+
33
+
34
+
35
+ // 後はやりたい処理を以下に書く
36
+
37
+ }
38
+
39
+ ```

1

補足の追加

2018/11/28 05:56

投稿

kenshirou
kenshirou

スコア772

test CHANGED
@@ -6,7 +6,11 @@
6
6
 
7
7
  > ただし、そのページがフレーム構成(インラインフレームを含む)の場合、DocumentCompletedイベントが何度も発生する場合があります。
8
8
 
9
- >その場合、私はイベントハンドラの第2引数(WebBrowserDocumentCompletedEventArgs e)のUrlプロパティのUrl情報がナビゲートしたUrl(提示例ではWebBrowser1.Url)のそれと同じ場合、読込完了と判断しています。
9
+ その場合、私はイベントハンドラの第2引数(WebBrowserDocumentCompletedEventArgs e)のUrlプロパティのUrl情報がナビゲートしたUrl(提示例ではWebBrowser1.Url)のそれと同じ場合、読込完了と判断しています。
10
+
11
+
12
+
13
+ 恐らく、Webページ本体の読み込みが完了していないため、まだ読み込まれていない要素を参照しようとして今回のエラーになっている可能性があります。
10
14
 
11
15
 
12
16