これは私の 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;
}