C#两个窗口之间的传值问题以及跳转的窗口出现空白
一、跳转的窗口出现空白
:原因该窗口没有被初始化,有人说加一个初始化的方法,我不是很懂,所以就找了其他的传参方法,也大致就是,参数的时候初始化窗口,直接把无参的初始化参数,变成有参的传值初始化参数,如何传请看下面:
二、两个窗口之间的传值问题
我们再跳转的时候需要传递数据,这个数据可能是一个string int等,或者时一个对象,
我这里通过查阅了一个小时的资料终于让我找到了适合的传参,方法。
首先把你需要传的参放入你要跳转的窗体中,eg:
Emp updateEmp = userDao.getEmailSeltctUser(Email);
Console.WriteLine("我是login中需要带出去的updatEmp的ID"+updateEmp.Id);
new TipeForm(updateEmp).Show();
这里的updateEmp是一个对象,Emp类型的对象,我在这里存了该员工的所有信息。
我通过new TipeForm()跳转,带参就是new TipeForm(updateEmp)然后显示show,
那么我们需要在TipeForm这个窗体接受数据。
我首先想到的是Java swing中的 传参方式,直接在初始上面带上就完了,发现不顶用,一个小时后,我在这个位大哥的博客下面找到了答案,它虽然说的是窗体与窗体之间的东西互通,但是窗体也是一个对象啊,我要传的不就是一个对象?
所以答案就有了,闲话到此,我们上代码:
private Emp emp;
public TipeForm(Emp updateEmp)
{
InitializeComponent();
this.emp = updateEmp;
}
首先我们要声明一个可以接收我们传过来的对象,我这里声明了一个 private Emp emp;
你传什么就什么类型,然后,我们在初始化结束后把我们带过来的值赋给我们的emp,
记住一定要赋给它,不然跳出初始化后,你的值还是空的,白传了。下面你就可以使用这个值了。