0

これは私の C# ADO.NET アプリです。ログインしたユーザーの名前を LoginForm から MainMenuForm に渡そうとしています。MainMenuForm のラベルに名前が表示されている必要があります。ログインが成功したら、LoginForm を閉じて MainMenuForm を表示します。そのためのプロパティを作成しましたが、MainMenuForm のラベルには何も表示されません。これが私のコードです:

ログインフォームのコード:

    Persons LoggedPerson = new Persons();
    public LoginForm()
    {
        InitializeComponent();
        tbPassword.PasswordChar='*';
        tbPassword.MaxLength = 9;
    }




    private void button1_Click(object sender, EventArgs e)
    {
        Boolean flag = false;
        string username= tbUsername.Text;
        string password = tbPassword.Text;
        var sadrzaj = new NFC_baseEntities1();
        foreach (var x in sadrzaj.Persons) {
            if (x.Username==username && x.Password==password) 
            {
                LoggedPerson.Name= x.Name;
                LoggedPerson.Surname= x.Surname;
                flag = true;
                break;

            }

        }

        if (flag == false)
        {
            DialogResult dialog = MessageBox.Show("Invalid username or password!", "Error", MessageBoxButtons.OK);
           if(dialog==DialogResult.OK)
                   Application.Exit();


        }
        else
        {
            DialogResult dialog = MessageBox.Show("Username and password are correct!", "Message", MessageBoxButtons.OK);
            if (dialog == DialogResult.OK)
            {
                MainMenu forma = new MainMenu();
                forma.Show();
                this.Hide();
            }
        }

    }

    public string TheName
    {
        get { return this.LoggedPerson.Name + " " + LoggedPerson.Surname; }


    }

MainMenuForm コード:

public MainMenu()
    {
        InitializeComponent();
        LoginForm nova = new LoginForm();
        MenuLbLoggedPerson.Text += nova.TheName;
    }
4

1 に答える 1

0

私はあなたLoginFormがあなたのスタートアップフォームであると仮定しています.あなたはあなたのコンストラクタであなたを作成しMainMenuます. あなたにメソッドを追加して、代わりにあなたから設定してみてください。LoginFormMainMenuLoginForm MainMenuLoginForm

メインメニュー

public MainMenu()
{
    InitializeComponent();
}

public void SetLogin(string loginInfo)
{
    MenuLbLoggedPerson.Text = loginInfo;
}

ログインフォーム

MainMenu forma = new MainMenu();
forma.SetLogin(LoggedPerson.Name + " " + LoggedPerson.Surname);
forma.Show();
this.Hide();
于 2013-07-14T14:14:50.757 に答える