首先这可能看起来像一个简单的问题,但我真的很新c#所以请耐心等我:)。 我知道这可能是一个已经回答的问题,但在这里和谷歌搜索并不能真正满足我的需求。
所以我有一个对话框表格(登录表单),用户必须输入他的密码&用户名
private void loginButton_Click(object sender, EventArgs e)
{
try
{
var sr = new System.IO.StreamReader("C:\\" + inlogNaamTextbox.Text + "\\Login.txt");
gebruikersnaam = sr.ReadLine();
passwoord = sr.ReadLine();
sr.Close();
if (gebruikersnaam == inlogNaamTextbox.Text && passwoord == inlogPasswoordTextbox.Text)
{
MessageBox.Show("Je bent nu ingelogd!", "Succes!");
this.Dispose();
}
else
MessageBox.Show("Gebruikersnaam of wachtwoord fout!", "Fout!");
}
catch (System.IO.DirectoryNotFoundException ex)
{
MessageBox.Show("De gebruiker bestaat niet!", "Fout!");
}
}
当他点击loginButton时,弹出mainForm(实际程序)。在这个mainForm中,我有一个标签,应该显示在登录表单中输入的用户名(Hello,用户名)
所以我真的没有任何代码可以将textBox的值传递给我自己编写的另一个表单上的标签,所以我希望你的家伙可以帮助我。
这是mainForm上的代码
private void indexForm_Load(object sender, EventArgs e)
{
startForm loginForm = new startForm();
loginForm.ShowDialog();
}
答案 0 :(得分:1)
我会在您的登录表单中添加一个公开用户名
的属性public string Username
{
get { return inlogNaamTextbox.Text; }
}
然后,您可以从弹出登录表单的表单中访问该属性。
startForm loginForm = new startForm();
loginForm.ShowDialog();
userLabel.Text = loginForm.Username;
注意"更好"答案是使用MVC或MVVM模型将该信息绑定到与UI表单分开的模型。但是,将这些模型应用于WinForms并非易事(尽管可以这样做)。