基本的に、ユーザーがログインして別のウィンドウを表示すると閉じるはずのログインウィンドウがあります。今のところ、非表示にしています(Form.Hide())が、不要なシステムリソースを使用したくないので、必要ありません。すでにログインした後のログインウィンドウ。
これは、操作を実行するコードスニペットです。
MainWindow w = new MainWindow();
TimeRegisterApI.Instance.Windows.Add(w.Text,w);
TimeRegisterApI.Instance.Windows[w.Text].Show();
this.Dispose();
Windowsは、タイトルをキーとしてフォームの参照を格納する辞書です。TimeRegisterApiはシングルトンです。基本的には、ログインウィンドウを破棄するのではなく、ログイン後にアプリケーションを終了します(閉じてガベージコレクターに移動します)。
タイトルをキーとして持つと、キーエントリが重複する可能性があることは知っていますが、現在のデザインでは問題ありません。