用SQL在两个表单之间传递数据
本文关键字:之间 表单 数据 两个 SQL | 更新日期: 2023-09-27 18:12:17
我正在尝试使用reader传递另一个表单。此代码来自Form1。
if (count == 1) // IF Ok.
{
userLabel.Text = myReader[0].ToString(); // SHOW THE USERNAME
loginSuccessTimer1.Enabled = true; // FOR TIMER
LoginFormSuccessBG loginSuccess = new LoginFormSuccessBG();
loginSuccess.Show(); //LoginSuccess SHOW FORM
}
这段代码来自Form2。我想在这个表单中显示来自Form1的文本。
private void button2_Click(object sender, EventArgs e)
{
userLabel2.Text = loginForm.userLabel.Text;
}
但是如果我点击Form2上的button2;我把这个错误在Visual Studio:
An unhandled exception of type 'System.NullReferenceException' occurred in Launcher.exe Additional information: Object reference not set to an instance of an object.
我已经将userLabel设置为public,并在Form2上尝试了这个。
userLabel2.Text = loginForm.userLabel.ToString();
但是它不起作用。
这应该可以工作,我刚刚在测试应用程序中这样做了。
userLabel2.Text =
(Application.OpenForms["yourForm1"] as yourForm1).userLabel.Text;
可以将Form1作为参数传递给Form2的构造函数。然后,如果你做了userLabel public,那么你可以从Form2访问它。下面是一个例子:
Form1代码:
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2(this);
frm.Show();
}
Form2代码:
Form1 form1;
public Form2(Form1 sender)
{
InitializeComponent();
form1 = sender;
}
private void button1_Click(object sender, EventArgs e)
{
string text = form1.label1.Text;
}