Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。認証が問題なければ、子画面としてメニュー画面を表示し、親画面であるユーザ認証画面を閉じる処理を検討しています。子画面であるメニュー画面をSystem.Diagnostics.Process.start()で別スレッドとして起動する方法以外に何か方法はありますでしょうか?ご教示よろしくお願いいたします。Form1());のように記述されていると思います。Application.Run(Form)は引数に渡されたFormを表示し、そのFormが閉じられた時点で終了します。この方法では質問のようにダイアログを切り替えるには都合が悪いです。この場合Application.Run(ApplicationContext)という別バージョンを使うとうまくいきます。こちらはApplicationContext.MainFormが閉じられるまで終了されず、またApplicationContext.MainFormは途中で変更可能です。閉じる前にこのプロパティを書き換えればプログラムは終了しません。イメージとしては最初はApplicationContext.MainFormとしてユーザ認証画面を設定しておくApplication.Run(ApplicationContext)を実行する(ユーザ認証画面が表示される)認証に成功したらメニュー画面を表示するApplicationContext.MainFormを1.のメニュー画面に書き換えるユーザ認証画面を閉じる認証に諦めたら、ユーザ認証画面を閉じる(プログラムが終了される)メニュー画面が閉じられる(プログラムが終了される)という具合でしょうか。同様の手順でメニュー画面からユーザ認証画面に戻ることもできます。個の銅バッジ上記の方法でも、実現できました。ApplicationContextは、画面間で共有する必要がある認識です。作成して、そこにApplicationContextを保持させる。認識が間違っていたり、別の方法がありましたら教えて下さい。さん、シングルトンでも可能ですし、ApplicationContextクラスの使用例にあるように派生クラスに必要な手続きを含めることもできます。Formではアプリケーションのシャットダウン方法を設定することはできず、必ずメインフォームが閉じられるとアプリケーションが終了します。一般的にはApplication.Run(Form)で指定したフォームをClose()するのではなくForm.Hide()で非表示とします。この場合表示されているフォームを閉じるだけではプロセスがシャットダウンしなくなりますので、必要に応じてFormClosedイベントなどでApplication.Exit()メソッドを呼び出してください。((Form)s).Hide();};Application.Run(form);のような非表示フォームをメインフォームとすることもできます。個の銅バッジ非表示フォームをメインフォームとする場合はLoginFormをキャンセルして画面を終了する際にメインフォームをCloseするなり、Application.Exitすることが必要ですよね。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。Processで指定した別プロセスのウインドウを、クライアント領域のみキャプチャしたい。Forms画面でコントロールにカーソル当てた際、動的にツールチップの出力内容を変更したい。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。