ドメイン駆動開発_フォルダー構成編_#34_BaseFormでログインユーザーを表示する

当サイトではアフィリエイト広告を利用しています。

NDDD

前回は,Sharedクラスで,ログインIDを記憶するようにしました。今回は,すべての画面でログインユーザーが表示されるようにしてみましょう。

BaseFormのステータスバーにUserIdLabelを追加する

LoginViewのStatusStripの▼を押下して,StatusLabelを追加します。

作成したラベルの名前を「UserIdLabel」とします。

BaseFormの起動時にSharedクラスのUserIdを設定する

BaseFormの起動時に,UserIdLabel.Textを設定するようにコーディングします。

using NDDD.Domain;
using System.Windows.Forms;

namespace NDDD.WinForm.Views
{
    public partial class BaseForm : Form
    {
        public BaseForm()
        {
            InitializeComponent();

            toolStripStatusLabel1.Visible = false;
#if DEBUG
            toolStripStatusLabel1.Visible = true;
#endif

            UserIdLabel.Text = Shared.LoginId;
        }
    }
}

LoginViewからLatestViewを起動する

LoginViewのログインボタンクリックイベントに,LatestViewが起動するようにコーディングします。

using NDDD.Domain;

namespace NDDD.WinForm.Views
{
    public partial class LoginView : BaseForm
    {
        public LoginView()
        {
            InitializeComponent();
        }

        private void LoginButton_Click(object sender, System.EventArgs e)
        {
            Shared.LoginId = LoginTextBox.Text;

            using (var f = new LatestView())
            {
                f.ShowDialog();
            }
        }
    }
}

起動確認

LoginViewが表示されたら,ログインIDに適当に文字を入れて「ログイン」ボタンを押下します。

LatestViewにログインIDが表示されていることが確認できます。これで,すべての画面でログインIDが表示されるようになります。