• ベストアンサー

C#本処理を行う間、他フォームを表示

sean9の回答

  • ベストアンサー
  • sean9
  • ベストアンサー率86% (26/30)
回答No.1

http://dobon.net/vb/dotnet/programing/progressdialogbw.html 進捗状況を表示する必要がないのであれば、ProgressDialogの中身はほとんどいらないでしょう。 「//バックグラウンド処理が終了したとき」にこのFormを閉じてしまいましょう。

参考URL:
http://dobon.net/vb/dotnet/programing/progressdialogbw.html

関連するQ&A

  • C# スレッドでフォームを扱う

    スレッドとフォームの連携について質問があります。 「開始」ボタンをクリックしたら、 「開始」ボタンのEnableをfalseにして 他のクラスのスレッドで処理を開始します (中断ボタンが押されたら処理をやめるためにスレッド採用) この時、処理が終わったら「開始」ボタンのEnableをtrueに戻したいのです。 デリゲートのコールメソッドを使ったところ、フォームを生成したスレッド以外からフォームををいじってはいけないというエラーがでてしまいました。 [a]ユーザー操作を待ち受けるフォームのスレッド [b]処理系のスレッド このようなスレッドの構成の時、[a]が[b]の処理が終わったことを知り、buttonのプロパティを変更するためには、どうすればよいでしょうか?

  • コマンドボタンを押している間の処理について(C#)

    現在C#にてアプリを作っています。 そこで、フォーム上にあるボタンを押している間は ある画像のスクロールさせる処理を行いたいのですが、 どういったイベント等の方法で行えばよいか教えてください。

  • 【vb.NET】フォームを閉じる際に他のフォームを制御したい

    Visual Basic 2005で学習中です。 フォーム1とフォーム2があり、 1.フォーム1からボタン1を押してフォーム2を開く。 2.フォーム1のボタン1を押下不可にする。 3.フォーム2を閉じるとフォーム1のボタン1を押せるようにする。 という処理をさせたいのですが、3.の処理がどうしてもできません。 formClosingイベントの中で、ボタン1を押せるようにする処理を書いているのですが、うまくいきません。 良い方法を教えていただきたく思います。お願いします。

  • C#のフォーム間のデータの受け渡しについて

    はじめまして。よろしくお願いします。 最近C#をはじめましたがいきなりつまづいてしまいました。 クラスを利用しフォーム間でデータの受け渡しをしたいのですがどうすればいいのでしょうか? 処理は以下のようになっております まず、フォームが2つあります。フォーム1とフォーム2とします。 最初に起動されるのがフォーム1で、フォーム1にはボタンが2つあります。ボタンA、ボタンBとします ボタンA、ボタンBどちらのボタンを押下しても、フォーム2が開きますがどちらを押されてたかをフォーム2のテキストボックス(テキスト2とします)に表示します。 クラスですがフォームが2つとデータ保持のためのクラスが1つ(データ保持クラスとします)があります。 データ保持クラスにはint形のBtnClickプロパティ(get,set)を作成しております。, フォーム1のボタンA押下時処理  データ保持クラスのBtnClickに1を格納し、フォーム2を開きます。 フォーム1のボタンB押下時処理  データ保持クラスのBtnClickに2を格納し、フォーム2を開きます。 フォーム2起動時処理  データ保持クラスのBtnClickから値を取得しフォーム2のテキスト2へ表示します。 で、肝心の質問ですが、データ保持クラスの宣言はどこにすればいいのでしょうか? また、インスタンスはどのタイミングで作成すればいいのでしょうか? フォーム1にpublicとして宣言しインスタンスを作成し、ボタン押下時にBtnClickプロパティーにデータを格納し・・・ というところまではできたのですが、フォーム2で値が取得できないどころか、コンパイルが通りません。 あと、こういうデータ保持クラス使い方って一般的ですか?? 長々と脈略もなく書きましたがご教授ください。どうぞよろしくお願いします。

  • MS-ACCESSのフォーム切り替え表示について

    フォームA(少量データ)からフォームB(大容量データ)を呼び出して表示させる方法について 教えてください。 まず、フォームAは複数の個人名のボタンとサブフォームで全員の最新情報が表示される ものを作っています。 この個人名のボタンをクリックするとフォームBにその個人の全情報を表示させる仕組みなのですが、フォームBは情報量が多い為、表示させるのに時間がかかります。 そこで下記のようなVBAを記述し、Do~LoopでフォームBが開くまでの時間を稼ごうと思っても 次の処理が行なわれてしまい、エラーになってしまいます。 Private Sub ボタン_Click() DoCmd.OpenForm "フォームB" Do Until SysCmd(acSysCmdGetObjectState, acForm, "フォームB") = acObjStateOpen DoEvents Loop Application.Forms![フォームB].Controls![担当者名] = "担当A" Me.フォームB.Requery End Sub これでフォームBが開くまで待ってから次のステップのフォームB内の条件設定や Requery処理を行なうと思っているのですがうまくいきません。 DoEvents処理が入っているせいかと思い、はずしたのですがそれでもうまくいきません。 もともとはフォームBだけで運用していたのですがデータ量が増えて表示に時間がかかり すぎるので新たに項目は同じで件数の少ない最新情報のみのテーブルを作成し、 それをもとにフォームAを作成しています。 ですのでフォームA,Bともに同じようなサブフォームになっており、またそれぞれの サブフォームを構成するテーブルが異なる為に1つのフォームでの処理ができません。 拙い説明ですがどなたかご教授願います。

  • C++マルチスレッド処理について

    こんにちは 現在スレッドを作成して,マルチスレッド処理をしようとしているのですが, 全然理解できないので皆様のお力をお貸し下さい。 やりたい事は, (1) メインスレッドからスレッド1を作成。 (2) スレッド1では,ひたすらファイルなどからデータを取得させる。(読み込めなくなるまで) (3) メインスレッドでは,時々スレッド1を止めて,再度処理を続行させたい。 class Sample { public: // Sampleオブジェクト作成,同時にスレッド1を作成 Sample* create(); // スレッド1を止めて,再度動かす void process(); private: // この関数をスレッド1で処理させる // 内部では,読み込めなくなるまで無限ループ? void get(); }; スレッドに関してはイメージが湧くのですが, mutex (必要ですか?) に関しては一向に理解できません。 何を排他制御するのでしょうか。オブジェクト? 関数? 複雑ではなさそうなのですが,今までシングルスレッドの処理のみ書いていたため ピンときません。 よろしくお願い致します。

  • Excel VBAで、ユーザーフォームをモードレス表示している間、処理を止めるには?

    VBA初心者です。 タイトルの通りですが、例えばサブルーチン(1)の途中でユーザーフォーム(1)をモードレス表示している間、処理を止めることは可能でしょうか? サブルーチン(1)を、ユーザーフォーム(1)を表示する前後に分割して、ユーザーフォーム(1)を閉じた時にサブルーチン(1-後半)を呼び出すことも考えたのですが・・・サブルーチン(1-前半)を別のサブルーチン(2)から呼び出した場合に、サブルーチン(1-前半)をEnd Subした時点で、サブルーチン(2)が進行してしまいます。 分かり難い質問で申し訳ありませんが、皆様の知恵をお貸しください。よろしくお願いします。

  • iアプリJavaのスレッド処理

    こんばんは。 iAppliJAVAについて教えてください。 ボタンを押されて次の画面を表示するまでの間に ダイアログボックスで「処理中」というのを表示させたいのですが、スレッド処理とかでできるのでしょうか? 処理中の間だけ表示させて、終わったら閉じて次の画面を表示・・・という感じです。

    • ベストアンサー
    • Java
  • Access2002 呼び出したフォームがうまく表示されない

    いつもお世話になっております。 表題について、お尋ねいたします。 あるフォームにボタンを作成し、そのボタンのイベントで、別のフォームを表示させるようにしました。 しかし、対象フォームが呼び出した側のフォームの裏側に表示されてしまいます。 また、[ツール]>[起動時の設定]で、データベースウィンドウの表示のチェックをはずしますと、フォームのみ表示されるようになりますが、そこから対象フォームを呼び出すボタンを押しても表示されません。 他のフォームは思ったとおりの動作をしてくれるのですが、対象フォームのみ、プロパティなど、なにか設定に不備があるのでしょうか? ご存知の方がいらっしゃれば、よろしくご教授のほどお願い申し上げます。

  • VB6新しいフォームに処理を渡す

    少し古いですが、Visual Basic6.0です。 メインのフォームで処理していて、ユーザーに問い(数値選択)をするため新しいフォームを表示させます(Form**.show)。 しかし、新しいフォーム表示中に裏でメインフォームの処理が進んでしまい困っています。 msgboxのように表示中はメインフォームの処理を止めたいです。新しいフォームでユーザーが選択したらメインフォームに戻りたいです。 方法を教えていただけないでしょか? たまにプログラミングする経験者レベルです。簡単な話かもしれませんが調べましたが、わかりませんでした。