• ベストアンサー

C# フォームを常に最前に表示

C#で開発をしています。 フォーム(メインメニュー)から別のexeを起動させた時 (メインメニューは表示させたまま、その上に新しいフォームを ひらきます)に、新たに起動したフォームを常に一番前に表示させておき、 なおかつ、もともとひらいていたフォーム(メインメニュー)を 操作できるようにすることは可能でしょうか? 手がかりでもいいので、ご存知の方、教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • JeanneNet
  • ベストアンサー率48% (100/208)
回答No.1

こんにちは、じゃんぬねっと です。 こちらが参考になると思います。 http://jeanne.wankuma.com/tips/form/20-topmost.html http://jeanne.wankuma.com/tips/form/21-ownedform.html 問題は、どこまで出来ているかですね。 最前面にすることはできているのでしょうか。

sprit
質問者

お礼

TopMostプロパティを使って解決できました。 ありがとうございました。

sprit
質問者

補足

ありがとうございます。 今は、モーダルで表示して最前面にしたものの他のexeを開くと 隠れちゃうぞ?!と悩んでいるところでした。 テストできる環境が自宅にはないので週明けに試してみようと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ACCESS97 フォームのメインメニューを非表示にする方法

    97で、フォームを作成しているのですが、 データベースを起動したら、まずメインメニューが 表示されて、使用するフォームを起動したら、 メインメニューは、非表示にしたいのですが、 その設定は、どうしたら、いいのでしょうか?

  • Access2000 フォーム表示位置が変わる

    MDBを起動するとAutoExecマクロでフォーム(メニュー画面)を表示するようにしています。 困っていることはこのフォームの表示位置が上にずれてしまうことです。 一旦デザインで開いて何もせず、ビューすると正しい位置に戻ります。 こんなことしなくても正常に表示させるにはどうすればよいのでしょうか? 以上、よろしくお願いします。

  • QT5.3.2 複数のダイアログ表示について

    QT5.3.2 複数のダイアログ表示について質問がります まず自分の現在の環境は、 OSがLinuxのDebian 開発環境:QT5.3.2 で開発しています。最近仕事で始めるようになり ちょっと大きな壁に行き詰っていたので質問いたしました ・QT Disignerで複数のフォームを作成いたしました。仮にメインのフォームをA、サブ1のフォーム」  をB、サブ2のフォームをCとおきます メインのフォームの上半分を何もボタンなどおいておらず隙間を開けています そこで質問ですが、そこにフォームBやフォームCを表示・非表示したいと考えていますが どのようにおこなったらよいのかわかりませんよろしくお願いします ちなみに、VS2010 C++ MFCではフレームを置き、そこでダイアログの入れ替えを行っていた記憶がありますが、今回はどのようにしたらメインのフォームの上半分にほかで作成したフォームを表示するのかわかりません。 以上よろしくお願いします。  

  • Accessフォームがメインメニューで隠れてしまう

    Accessで作成した社員情報データベースを一般の人は参照のみとし、 数人の有資格者だけデータ編集できるよう、メインメニューの中のボタンで IDとパスワード入力フォームを開き、合致した場合、編集対象フォーム、又 は別フォームメニューが開くようにしたのですが、一つ問題が。 IDとパス入力で対象フォームが無事開くのですが、画面のその対象フォーム の上というか前面にメインメニューが表示され、対象フォームがメインメニュー の背面に表示されてしまうのです。 原因と対処方が分からず、困り果てました。どうか解決策がありましたら ご教授頂けますと幸いです。 使用accessは2002です。よろしくお願い致します。

  • Accessのフォームのみ表示させたい

    Accessを起動した際、フォームのみ表示するにはどうすればよいのでしょうか? (Accessを起動すると、オブジェクトメニュー?(テーブルやクエリ等のオブジクトを選択するウィンドウ)を表示させないで、フォームのみを表示させるには?) また、上記と同じようにして、なおかつAccessを起動させないでフォームで起動や終了といったことが出来るのでしょうか? やはりこれはVB等プログラミングでないと出来ないのでしょうか?ちなみに私はプログラミングは全く出来ません。 わかる方、教えて下さい。宜しくお願いします。

  • VB.NETとEXE

    VB.NETで作成したフォーム(仮にメインフォームとします)にコマンドボタンを複数貼り付けています。 各コマンドボタンをクリックすると、それぞれの別のEXEが起動します。 (例 コマンドAをクリックすると、EXE-Aが起動、コマンドBをクリックするとEXE-Bが起動。両方一度に起動も可) この時、必ずメインフォームの上にEXEのフォームが重なるように表示されています。 そこで質問があります。 1、複数EXEが起動されている時、一番前面に表示されているEXEを識別する方法はありますか? 「現在アクティブなEXE」とは異なります。なぜなら、メインフォームをクリックすると、前面に表示されているEXEはアクティブな状態とはならないためです。 2、メインのフォームの右上にある「最大化」や「最小化」のボタンをクリックしたら、それに連動してEXEも最大化や最小化をするようにすることは可能でしょうか? すこしわかりにくいと思いますが、補足もしますので、アドバイスよろしくお願いします。

  • MDI:親フォームと子フォームを別EXEで実装するには

    MDIでアプリケーションを作成したいと思っています。 その時に子フォームを親フォームとは別EXEで作りたいと思っています。 例えば 親フォームのボタンを押すと、子フォームEXEが起動し、親フォーム内に表示される。 このようなことは出来ますか? 出来るのでしたら、どうしたらよろしいでしょうか。 教えてください。

  • HP作成中。3フレーム中2つを常に表示させたい。

    HPビルダー7でHP作成中です。フレームのあるページを作っています。 上(メニューボタンを並べる予定)と左横に細長くフレームを配置し、上フレームのメニューボタンを押すと右下の広めのフレームに(メニューボタンに応じて)ページが次々と表示されるようにしたいのです。 で、作ってみると上のメニューボタンを押すとページは変わるんですが、上のフレームまで消えてしまう(左のフレームだけそのまま表示される)のです。 上と横のフレームをそのまま常に表示させるにはどうしたらいいのでしょう? フレームを固定表示させるタグなどありましたら教えてください。よろしくお願いします。

  • アクセスのメインフォームのみの表示について。

    アクセスでデータ管理をしていますが、画面上にメインフォームのみを表示させたいのですが、どのようにしたらアクセスの編集画面などを消せるのでしょうか?現在メインフォームを自動で表示するようにしてありますが、必ず、アクセスのファイル、編集、表示、挿入などが上に表示され、編集枠の中にメインフォームが真ん中に表示される状態です。どこかで見たことがあるのは、そのメインフォームのみ真ん中に表示され、後ろにはウインドウズの画面があるものでした。どなたか教えていただけないでしょうか。よろしくお願いいたします。

  • ACCESS非表示でフォームのみ表示して起動したい

    ACCESS2010のオプションのカレントデータベースのフォームの表示を(表示しない)にして、AutoExecマクロから以下のMain()プロシージャを呼び出して 起動時にフォーム(メイン画面)を表示しています。 ----------------------------------------------- Function Main() As Integer 'メイン画面の表示 DoCmd.OpenForm "メイン画面", acNormal Main = 1 End Function ----------------------------------------------- このままでは、ACCESSファイル(.accdb)をダブルクリックして実行するとメイン画面とその背後にACCESSアプリケーション自体が表示されてしまいます。 そこで、Form_Openイベントプロシージャに ----------------------------------------------- Dim rc As Long rc = ShowWindow(Application.hWndAccessApp, SW_SHOWMINIMIZED) ----------------------------------------------- を記述したのですが、ACCESSアプリケーションは表示されなくなったのですが、フォーム(メイン画面)も表示されなくなってしまいました。 フォーム(メイン画面)だけ表示してACCESSアプリケーションは表示されないようにしたいのですがどのようにすればよいのでしょうか。 よろしくお願いします。