この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 16327|答える: 5

[WinForm] バックグラウンドスレッドがフレームウェブページの動作

[リンクをコピー]
掲載地 2019/01/22 21:43:08 | | |
まず第一に、以下の文をUIスレッドで実行すれば問題ありません
        private void button9_Click_1(object sender, EventArgs e)
        {
            MSHTML。 HTMLDocument doc = GetIe("URL"); GetIeは指定されたURLでIE文書を取得する方法です。
            doc.frames.item(0).document.all.item("txtLimits").innerText = "123";
        }
しかし、バックグラウンドスレッドに入れると例外が出ます:InvalidCastException、指定された変換は無効で、コードは以下の通りです
   private async void button9_Click_1(object sender, EventArgs e)
        {
            アクションアクション = 新しいアクション(test12);
            wait.Task.Run(アクション);
        }
        プライベート・ヴォイド・テスト12()
        {
            MSHTML。 HTMLDocument doc = GetIe("URL");
            doc.frames.item(0).document.all.item("txtLimits").innerText = "123";
        }

。。。 正しいものをどう書けばいいですか?




先の:本日のC#学習ノート
次に:「Senran Kagura Burst: Re:Newal」中国語・英語無料版
掲載地 2019/01/23 8:03:26 |
掲載地 2019/01/23 9:08:36 |

スコア

参加者数1MB+1 貢献する+1 倒れる 理由
クリスタル0330 + 1 + 1 とても強力です!

すべての評価を見る

 地主| 掲載地 2019/01/23 22:04:56 |

ありがとうございます。問題は解決しました。ただ、私は非同期初心者でなぜこう書かれているのか理解できません。説明していただけるともっと完璧です。
 地主| 掲載地 2019/01/24 6:38:37 |
この投稿はcrystal0330によって2019年1月24日06:55に最終編集されました。

こんにちは、私も将来問題に直面しました:



ClickYesは、ポップアップウィンドウのOKボタンにマウスを移動させて2回クリックする方法です



さて、2つの問題があります。
1. このように書くこと、クリックはい、マウスの2回目のクリック、つまり最初のクリックは実行されませんが、UIスレッド内であれば2回クリック可能です。
2. ClickYesメソッドでブレークポイントに達し、プログラムが中断された後に再度F11を押し、次のClickYesのコードを実行しませんでした。 では、どうやってステップバイステップでデバッグすればいいのでしょうか?

 地主| 掲載地 2019/01/24 14:33:03 |

こんにちは、もう一度試したのですが、こう書くとwinformのインターフェースがまた固まってしまい、UIスレッドを直接使うのと同じ現象です...
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com