MessageBox in first If case显示正确的ID(1,2,3无论如何) 现在然后在Form3上,只需一个简单的textbox1.text =" hi&#34 ;;给了我错误:
对象引用未设置为对象c#的实例。它会显示文本框行。
int IDnumber = 0;
SqlCommand dataCommand = new SqlCommand(" SELECT ID FROM leden WHERE [Username]='" + username_txt.Text + "' and [Password]='" + password_txt.Text + "'", SC);
SC.Open();
IDnumber = Convert.ToInt32(dataCommand.ExecuteScalar());
SC.Close();
if (IDnumber >= 1)
{
MessageBox.Show("Logged in, welcome ID number:" + IDnumber, "test");
Form3 f3 = new Form3(IDnumber);
f3.Show();
}
else
{
MessageBox.Show("Wrong Username and/or Password");
}
}
form3:
public Form3(int _IDnumber)
{
int IDnumber = _IDnumber;
textBox1.Text = "hi";
}
当然,文本框是一个测试,以表明我使用的文本框并不重要,它只是给了我这个错误。 是的,我仍然使用未加密的密码,但不知道该怎么做
答案 0 :(得分:4)
您尚未初始化表单上的组件。 添加
InitializeComponent();
在你的构造函数的开头。
答案 1 :(得分:0)
在Forms构造函数中设置控件不是明智之举,而是在OnLoad
事件中实现这些内容。
MSDN:http://msdn.microsoft.com/en-us/library/360kwx3z(v=vs.90).aspx,你不想把代码放在构造函数中,使用OnLoad。