前回はベースフォームを作成して,ステータスバーを共通化するという部分を作りました。今回は,LoginViewでログインしたときに,Sharedにログイン情報を覚えさせる方法を解説していきます。
SharedにログインIDを追加する
SharedクラスにLoginIdの項目を追加します。
using System.Configuration; namespace NDDD.Domain { public static class Shared { static Shared() { IsFake = ConfigurationManager.AppSettings["IsFake"] == "1"; } public static bool IsFake { get; } public static string FakePath { get; } = ConfigurationManager.AppSettings["FakePath"]; public static string LoginId { get; set; } = string.Empty; } }
現状は設定ファイルの値しかSharedクラスにありませんでしたが,今回のように,アプリケーション全体で記憶しておきたい事も,Sharedクラスに置いていきます。
ログインボタンクリックイベントの作成
LatestViewのログインボタンをダブルクリックして,ログインボタンクリックイベントを生成します。
生成されたLatestViewのログインボタンクリックイベントでSharedクラスのLoginIdに値を設定します。
using NDDD.Domain; using System; namespace NDDD.WinForm.Views { public partial class LoginView : BaseForm { public LoginView() { InitializeComponent(); } private void LoginButton_Click(object sender, System.EventArgs e) { Shared.LoginId = LoginIdTextBox.Text; } } }
実際は,Sharedクラスに値を設定する前に,ユーザーの存在チェックなどが行われると思いますが,今回は割愛しています。こんな感じで,SharedクラスにログインIDを記憶しておけば,どこからでもログインIDを参照することができます。このように,アプリケーションが起動して,値が確定するようなものは,Sharedクラスに置いておくのがいいです。