![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
こんにちわ。
C#(WindowsForm)で以下のような処理を考えています。
1.起動するとForm1(ログイン画面)が開く
2-1.認証に成功 → 3へ
2-2.認証に失敗 → メッセージを表示し、ログイン画面のユーザ名にフォーカスをセット
3.Form3(メインメニュー)を開く
そこで、スタートアップの画面は、Form1で良いと思うのですが、
2-1の場合に、以下のようなコードを書いてみました。
***************************************
Form3 f = new Form3();
f.ShowDialog(this);
f.Dispose();
this.Close();
***************************************
これでは、次の部分で目的を達成できませんでした。
A.Form3をShowDaialog(this)で開くと、モーダルモードで開くだけとなってしまう。
Showではモードレスとなるだけ。
B.Dispose、Closeを記述してみたが、Form3が開いた時に、
画面上からForm1が消えるわけではない。
Closeでは、システム自体が終了してしまう。
そこで、ShowDialogやShowではなく、Form1を消し、Form3を表示するメソッド等あるのでしょうか?
ちなみに、Form3をCloseした場合に、Form1を再度呼び出す処理は考えていません。
No.1ベストアンサー
- 回答日時:
Form1をCloseしてしまうとプロジェクトの設定によってはアプリケーションが終了してしまいます
また、非表示にする前に設定されたデータなども全て失います
単に非表示にしたいのであれば
this.Hide();
で非表示しましょう
再表示するには this.Show(); で可能です
今回の場合なら ログイン用のForm1は モードレスでかまわないとも思います
2-1、2-2自体は Form1のなかで完結していればいいことだと思います
.NET Framework1.0/1.1なら Mainプロシージャを工夫してやらないといけないでしょう
.NET Framework2.0以降なら プロジェクトのプロパティの アプリケーションタブのシャットダウンモードを『最後のフォームが閉じたとき』にしてやればよさそうです
redfox63さん、回答ありがとうございます。
>また、非表示にする前に設定されたデータなども全て失います
>単に非表示にしたいのであれば
>this.Hide();
>で非表示しましょう
>再表示するには this.Show(); で可能です
Hide()とするのが良いのですね。
どうも、今まで、別言語でClose(に近い)とすると、
Form1がメモリから破棄されるようなイメージを持っていたので、
今回の件は不思議でした。
>2-1、2-2自体は Form1のなかで完結していればいいことだと思います
この点、ご指摘の通りです。
>.NET Framework2.0以降なら プロジェクトのプロパティの アプリケーションタブのシャットダウンモードを『最後のフォームが閉じたとき』にしてやればよさそうです
このプロパティも、初めて目にしました。
早速、やってみます。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP 「ログイン機能を持たせる」説明が気難しいです。 2 2022/10/11 02:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三菱GOTの画面切り替えについて
-
C言語で今まで表示していた画面...
-
【swing】ボタンクリックにより...
-
ホームページビルダーが遅い!...
-
Strutsの情報保持の仕方について
-
グローバルIPアドレスの変更タ...
-
腕時計の時報をならないように...
-
フォルダ改行
-
「<c:forEach タグが終了し...
-
j-axis 腕時計のアラーム止めたい
-
Formatでmmが月と分を意味する理由
-
Struts:フレーム内JSPからcssフ...
-
漏電遮断器の黄色ボタンと白色...
-
タグの入力場所が解からない。
-
jspでjavascript関数へ引数を渡...
-
ASPとCGIの違い
-
JSPでのリストボックス表示
-
HashMapで、valueにマッピング...
-
Struts2のファイルアップロード...
-
vbaで、オートシェイプ文字列、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Java-jspの画面入力値保持について
-
三菱GOTの画面切り替えについて
-
C言語で今まで表示していた画面...
-
ServletからServletへの値渡し
-
遷移元を判定したい!
-
C# ログイン画面からメイン画面...
-
ASP.NET 画面遷移前の状態を保...
-
Strutsの情報保持の仕方について
-
登録後、呼び出し元ページに戻...
-
ServletからHTMLページへの遷移...
-
JAVAのセッション変数の上書き...
-
system("cls")について
-
画像の縦横比固定の計算方法。
-
ブラウザアドレスバーからのURL...
-
画面を隠す・消す方法を教えて...
-
strutsで、JSP→アクションクラ...
-
セッション切れでのリクエスト...
-
MFCプログラミング
-
javaのstrutsを使った画面遷移...
-
FormのsubmitでFormの内容がnull
おすすめ情報