• ベストアンサー

.NET非同期イベント処理法について

wormholeの回答

  • wormhole
  • ベストアンサー率28% (1625/5665)
回答No.2

>例えば、メインのルーチンを実行中に、フォーム上のボタンを押せるようにするにはどうするか等・・・。 その「メインのルーチン」というのをバックグラウンドで動かせばいいです。

goo-learner
質問者

お礼

有難うございます。 バックグラウンドで動かすためにNo1さんのご回答にあったBackgroundWorkerコンポーネントを使うわけですね。トライしてみます。

goo-learner
質問者

補足

質問者です。 ご回答をヒントに所望のプログラムを作成することができました。 有難うございました。

関連するQ&A

  • APIイベントを発生させる方法を教えてください。

    自作アプリケーション(WindowsのVB)に、 メールファイルをOutLookソフトからドラッグドロップして、ドラッグドロップのAPIイベントを発生させたいのですが、できずに困っています。 (ちなみに、 OutLookソフトからメールファイルをデスクトップ上へドラッグドロップできます。その、デスクトップ上のメールファイルを、自作アプリケーションへドラッグドロップすると、ドラッグドロップのAPIイベントが発生します。) FormのLoadイベントで、2個のAPI関数を実行しています。 (1)サブクラス化開始    Call SubClass(フォーム名.hwnd) (2)フォームがドロップファイルを受け入れるよう設定    Call DragAcceptFiles(フォーム名.hwnd, True) どなたかアドバイスをお願いします。

  • VC++2005 Expressでドロップ検知出来ません

    お世話になります。 WindowsXPで、VC++2005 Expressを使い始めました。 試しにドラッグ・アンド・ドロップ機能をテスト。Form1上にtextBox1を配置しただけのウィンドウです。Form1のAllowDropをTrueに設定してビルド、実行。 テキストファイルをドラッグアンドドロップしても、Form1上にマウスポインタが乗った瞬間、進入禁止のアイコンです。 これはバグなのでしょうか? 同様のご経験のある方いらっしゃいましたら、ご教示よろしくお願いします。

  • 各イベントの共通の前処理は存在する?(VB.NET)

    VS.NET2003,VBについての質問です。 ASP.NETでは、WebControlsのイベントを発生させるたびに(ボタンを押したり、テキスト変更したりなど)、 Page_Load>WebControlsイベントの順番で、イベントが発生することを確認しました。 Windowsアプリケーションにおいて、上記のPage_Loadに該当するイベントは存在するでしょうか。 つまり、Windows.Formsコントロールのイベント処理が発生するたびに、その前処理として実行される、上記のPage_Loadのような共通のイベントは存在するでしょうか。 以上、どうぞよろしくお願い致します。

  • 文字列入力でイベント

    VisualBasic2008(VB.NET)を使っています。 アプリケーションの実行中に、指定した文字列の入力があると、イベントを起こすにはどうすれば良いでしょうか。 (例)アプリケーション実行中に「4649」とタイプするとForm2が開く

  • Perlでイベント処理?

    ようやくPerlに慣れてきて、ふと思ったのですが VBではイベントというものがあり、Perl Tkでもキーボード・マウスのイベントの処理ができる みたいですが、クライアントでソケット受信した場合、いつ受信するかわかりませんので ループしていれば良いのですが、ループしている間は、他の実行が何も出来ず効率も悪いなと 思うようになりました。 WindowsのPerl5.6を使っているのですが、ソケット等、イベント処理できる方法はあるのでしょうか?

    • ベストアンサー
    • Perl
  • ManualResetEvent非同期処理で固まらないようにする

    HttpWebRequestの非同期処理からデータを取得する際に ManualResetEventで完了したかどうかを待機していますが、 待機中はフォームが固まってしまいます。 非同期処理のIAsyncResult中にApplication.DoEvents();をしたら、 例外処理として落ちてしまいます。 ManualResetEvent非同期処理で固まらないようにするには、 マルチスレッドでイベントを起こすしかないのでしょうか? それともほかにいい方法があるのでしょうか?

  • 他フォームのクリックイベント取得

    VS2005を使ってちょこちょこプログラムの勉強をしています。 現在、同一ソリューション内のフォームの間のイベントを実装出来なくて困っています。 やりたい事は Form1から、Form2を起動し、Form2のボタンをクリックした時に、 Form1でForm2のクリックイベントを取得したいのです。 自分なりに調べてみましたが、該当するようなところが中々見つかりませんでした。 わかる方いましたら、ご教示お願いします。 足らない情報等ありましたら、ご指摘ください。

  • VBAのイベント処理について

    VBAのイベント処理について お世話になってます。現在、VBAでアプリケーションを作成しています。 1つのフォームに4つのテキストボックスと1つのボタンが配置されており、それぞれイベントが設定されています。 その中のテキストボックスに関するイベントなのですが、1つのテキストボックスに対してKeyPress、KeyDown、MouseUp、AfterUpdate、以上4つのイベントを作成します。 フォームに配置されている4つのテキストボックスすべてに、上記で示したイベントを作成する必要がありますが、各イベントにおける処理の内容はオブジェクト名が違うだけで全く同じです。 ひとつひとつイベントを作成していけば、処理目的は満たせそうですが、ソースがかなり長くなってしまいます。ひとつのオブジェクトに対してこれらの処理をひとまとめにする様な記述方法はありませんでしょうか?考え方だけでも教えていただければ幸いです。 質問が長くなってしまい申し訳ありません。回答宜しくお願い致します。

  • PictureBoxのMouseUpイベントを意識的に発生させる方法

    VB.Netで開発しています。 表記の通り、PictureBoxのMouseUpイベントを意識的に発生させる方法はありますでしょうか? 具体的な処理の流れは PictureBox1をドラッグ&ドロップすることで ドロップされた位置によって処理を行っているのですが 制限時間をタイマーで設けていて、制限時間が来たら 現在の位置でドロップ(MouseUp)したいのです。 どなたかいい方法ご存知の方いましたらアドバイスお願いします。

  • DragEnterイベントについて(VS2008、ドラッグ&ドロップ)

    VisualStudio2008 C# で開発をしています。 ListViewにエクスプローラーからファイルをドラッグ&ドロップしようとしているのですが、うまくできません。 いろいろと調べて下記の3点を抑えればできるのかと思っていますが、思ったように動きません。 ListViewのAllowDrop=True; DragEnterイベントでe.Effect = DragDropEffects.Copy; DragDropイベントでDropした後の処理 きちんと記述しているつもりですが、DragEnterイベントが発生しません。 ちなみに、同じListViewの要素をドラッグ&ドロップするとDragEnterイベントは発生するので、あくまで外部(エクスプローラーなど)からドラッグされたものが受け付けないようです。 何が原因なのでしょうか? ほかに設定などあるのでしょうか?