ここから本文です

c#のWebBrowser命令で連続処理をしているとブラウザがフリーズしてしまいます。 ...

coi********さん

2014/9/107:05:26

c#のWebBrowser命令で連続処理をしているとブラウザがフリーズしてしまいます。

実行するたびに違うタイミングでフリーズしてしまう為、どこが原因なのかさっぱりわかりません。

長時間ではなく、2,3画面目くらいでフリーズします。
どういった事が考えられますでしょうか?

そもそも、一定の時間ごとにWEBサイトの表示を変えるなどの処理をtimerで行うのが間違っているのでしょうか?



下記は簡素化したコードです。



int scene = 1;

private void Form1_Load(object sender, EventArgs e)
{

// サイト表示
WebBrowser1.Navigate(main_site);

timer1.Start();
}


private void timer1_Tick(object sender, EventArgs e)
{
switch (scene)
{
case 1: // シーン1


// 処理

scene = 2;
break;

case 2: // シーン2


// 処理

scene = 3;
break;

case 3: // シーン3


// 処理

scene = 2;
break;
}

}

閲覧数:
576
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

fun********さん

2014/9/115:53:03

タイマーを使って一定時間で次々と遷移するのは問題ないです

問題となる処理が書かれてないのでどこが悪いのか全くわかりません
timer1_Tick()の中で長い処理を書くとフォームの更新とかのUI関係もブロックされるのでフォームの移動さえできなくなりフリーズしているように見えるのではないでしょうか?
とにかく処理を隠さず書いてください

  • 質問者

    coi********さん

    2014/9/120:58:24

    隠すようなつもりは無かったのですが、構造に問題があるのかと思いまして、必要のないものは省略した方がいいのかと思っておりました。

    ここにコピーしようとしたら、文字数が600文字ほどオーバーとなってしまいました。
    どうやってお伝えしたらいいのでしょうか。

  • その他の返信(5件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2014/9/2 06:10:52

降参 大・大・大・大感謝です!
大変勉強になりました。
有難う御座いました!!!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる