我无法弄清楚这个问题。
我想转移在"登录表单"中输入的用户名。进入"重定向表单"在哪里说“感谢您登录(USERNAME)'。
图片在这里: http://i.stack.imgur.com/ikX4o.png
我想要在第一个表单上输入用户名后输入的任何内容,点击“登录”按钮后,转移到“重定向”表单,并在其中显示" Abdullah"更改登录表单中的用户名。
谢谢
这是登录表单中的代码
private void btnLogin_Click(object sender, EventArgs e)
{
Users singleResult = Data.UsersL.Find(usr => usr.UserName == txtUsername.Text && usr.PassWord == txtPassword.Text);
if (singleResult == null)
{
MessageBox.Show("Username or password is incorrect");
return;
}
if (singleResult.Permitted == false)
{
MessageBox.Show("Im sorry, you are not authorized");
return;
}
else
{
MessageBox.Show("User is authorized");
FrmRedirect f1 = new FrmRedirect();
f1.ShowDialog();
}
答案 0 :(得分:1)
在项目中创建一个静态类:
public static class MyClass
{
public static string Name = "";
}
从登录表单设置此变量的值(在登录按钮的单击事件上):
MyClass.Name = txtUsername.Text;
现在,您可以在项目的任何位置使用此变量。
以重定向形式:
lblTitle.Text = "Thank you for logging in " + MyClass.Name;
答案 1 :(得分:0)
在这种情况下,最简单的方法是在实例化表单时直接处理数据。以前的解决方案并不是最好的,因为如果你不需要静态类,我总会避免使用静态类。
你有一些选择:
创建属性
FrmRedirect f1 =新的FrmRedirect(名字);
f1.ShowDialog();
你的构造函数在哪里:
public FrmRedirect(string name)
{
lblTitle.Text = "Thank you for logging in " + name;
}
否则,如果您的表单已经打开,则应考虑使用自定义 EventArgs 的事件在类之间传输数据。