フォームアプリケーションで複数のスレッドを開始して、サイトからソースコードを並行してダウンロードしたいと思います。
これは、メインアプリケーションの一部にすぎません。
写真へのリンク:http
://www.abload.de/img/pic9aym7.png
画像を投稿することは許可されていません。
private void buttonstart_Click(object sender, EventArgs e)
{
//check the list below
}
private void buttonabort_Click(object sender, EventArgs e)
{
//should always could abort the process/threads. (close all webcontrols ect)
}
- ボックス内の数値の読み取りを開始する必要があります。
- 番号ごとに、webbrowserまたはhttpwebrequestを開いて、ソースコードをダウンロードし、実行回数をカウントする必要があります(この例では4回の実行)。
したがって、Webサイトが「http://www.bla.com/」のような場合は、変数の最後に実行を追加する必要があります(http://www.bla.com/1-4)。 ソースを別の文字列に解析します。(strWebsiteString1、strWebsiteString2など。後で必要になります)
それが行われる場合、それは(文字列から)いくつかのテーブルを読み取り、それらを配列に解析する必要があります。(ここでもarray1 [3]、array2 [3]、将来の使用のために)
テーブルを取得するには、htmlagilitypackを使用すると思います。私はすでにこのhtmlagilitythingをコンソール用にコーディングしました。フォームアプリケーション用に再構築し、コンソールの書き込み行を変更していくつかの配列に配置する必要があります。しかし、私は他の/より良い解決策を受け入れています。
- 配列に解析したすべてのデータがdatagridcolumnsに表示されるはずです。実行ごとに独自の行が取得されます。しかし、comboboxcolumnにアイテムを追加しようとすると、すべてのcomboboxcolumnでエラーが発生します。
- それらを正しい順序で取得し、それがどのブラウザーデータからのものであるかを知るために、column1は実行回数を取得します。
私はすでに自分で試しました。私はスレッドとクロススレッドで立ち往生しています。そして、datagridviewも多くの問題を引き起こします。
お願いをして、この問題を解決するのを手伝ってください。私に役立つスニペット/サンプルを見せてください。