C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.18758 の関連記事表示

<< 0 >>
■18758  フォームはマルチスレッド?
□投稿者/ もんきっき -(2008/05/16(Fri) 08:04:09)

    分類:[.NET 全般] 

    初歩的な質問で申し訳ありません

    ■フォームの配置
    左にTreeview
    右にPanel

    ■記述したメソッド
    Sub PANELMETHOD()handle treeview1.click
    ’ある程度時間のかかる作業で
    ’Panelに配置しているコントロールを更新します
    End sub

    ■質問内容
    treeviewをクリックして「PANELMETHOD」を実行中は
    別の操作ができないのが当たり前と思っていましたが
    「PANELMETHOD」を実行中にも別のコントロールのボタンを押せてしまいます

    これは「マルチスレッド」になっているということになるのでしょうか

    また「PANELMETHOD」を実行中にもう一度「PANELMETHOD」を発生させた場合
    新しく「PANELMETHOD」が開始されますが
    このとき、同じPanelオブジェクトにアクセスしますが
    それまで稼動していた「PANELMETHOD」はプログラム上でどういう扱いになるのでしょうか

    見た目上、途中でキャンセルされて、メソッドが終了しているように見えます
親記事 /過去ログ36より / 関連記事表示
削除チェック/

■18760  Re[1]: フォームはマルチスレッド?
□投稿者/ ネタ好き -(2008/05/16(Fri) 08:55:55)
    No18758 (もんきっき さん) に返信
    ■記述したメソッド
    Sub PANELMETHOD()handle treeview1.click
    ’ある程度時間のかかる作業で
    ’Panelに配置しているコントロールを更新します
    End sub

    によります。ここで新たなスレッドを作って処理をしているのならばマルチスレッドです。
記事No.18758 のレス /過去ログ36より / 関連記事表示
削除チェック/

■18765  Re[1]: フォームはマルチスレッド?
□投稿者/ まどか -(2008/05/16(Fri) 09:14:36)
    > Sub PANELMETHOD()handle treeview1.click
    > ’ある程度時間のかかる作業で
    > ’Panelに配置しているコントロールを更新します
    > End sub

    これを、
    > Sub PANELMETHOD()handle treeview1.click
    Static count As Integer = 0
    count += 1
    Console.WriteLine("Start" & count.ToString)
    ・・・・・
    Console.WriteLine("End" & count.ToString)
    > End sub
    にしてください。

    112233・・・のようにならなければ、そのようになることをしているはずです。
記事No.18758 のレス /過去ログ36より / 関連記事表示
削除チェック/

■18766  Re[1]: フォームはマルチスレッド?
□投稿者/ T★M -(2008/05/16(Fri) 09:27:15)
    No18758 (もんきっき さん) に返信
    > ’Panelに配置しているコントロールを更新します

    ここの更新処理が、Application.DoEvents()だったりしませんか?
記事No.18758 のレス /過去ログ36より / 関連記事表示
削除チェック/

■18800  Re[2]: フォームはマルチスレッド?
□投稿者/ もんきっき -(2008/05/16(Fri) 12:59:59)
    No18766 (T★M さん) に返信
    > ここの更新処理が、Application.DoEvents()だったりしませんか?

    してました。
    ちょっと調べると、Application.DoEvents()って結構危険な処理みたいですね
    マルチスレッドを勉強します。
    どうもありがとうございました。

記事No.18758 のレス / END /過去ログ36より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -