这是我的C#ADO.NET应用程序。我试图将我的登录用户的名称从我的LoginForm传递给我的MainMenuForm。名称必须在MainMenuForm中的标签上可见。登录成功后,我将关闭我的LoginForm并显示我的MainMenuForm。我为此制作了属性,但我在MainMenuForm中的标签没有显示任何内容。这是我的代码:
LoginForm代码:
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;
}
答案 0 :(得分:0)
我假设您的LoginForm
是您的初创表单,您正在MainMenu
中创建LoginForm
,然后在MainMenu
的构造函数中创建另一个LoginForm
{ {1}} 这是一个完全独立的实例,您的登录信息不可用。尝试在MainMenu
添加方法,然后从LoginForm
设置方法。
<强>的MainMenu 强>
public MainMenu()
{
InitializeComponent();
}
public void SetLogin(string loginInfo)
{
MenuLbLoggedPerson.Text = loginInfo;
}
<强> LoginForm的强>
MainMenu forma = new MainMenu();
forma.SetLogin(LoggedPerson.Name + " " + LoggedPerson.Surname);
forma.Show();
this.Hide();