好的,这是我将如何做的一个例子。在按钮单击事件的主窗体上:
frmSecondForm secondForm = new frmSecondForm(this); //"this" is passing the main form to the second form to be able to control the main form...
secondForm.Show();
this.Hide();
一个您的 Second Forms 构造函数代码:
Form frmHome;
frmSecondForm(Form callingForm) //requires a calling form to control from this form
{
Initialize(); //Already here
frmHome = callingForm as frmMain;
}
然后在第二个表单关闭时取消隐藏主表单:
frmSecondForm_FormClosing()
{
frmHome.Show();
}
总而言之,如果您需要在表单之间传递数据,只需将其作为参数添加到第二个表单上。
同样,我会考虑将您的数据集合放入存储库包(文件夹)和类中,然后创建一个 User.cs 类来保存您保存在数据库中的所有信息。
提示:右键单击解决方案资源管理器中的顶级项目,然后转到新建 -> 文件夹。将其命名为回购。右键单击该文件夹并转到 New -> Class 并将其命名为 UserRepo。在这里构建函数以从数据库中收集数据。
在主窗体的构造函数区域,调用类(repo)。
private Repo.UserRepo userRepo;
frmMain_FormLoad()
{
userRepo = new Repo.UserRepo();
}
然后在登录按钮点击:
private button1_ClickEvent()
{
if(userRepo.isValidLogin(userNameText, passwordText))
{
//Do stuff
}
}
对于 userRepo.isValidLogin()
public bool isValidLogin(String username, String password)
{
bool isValid = false;
//Write up data code
return isValid;
}