【机房重构】跨窗体传值
果然C#的跨窗体传值比vb难得多,vb就定义一个全局变量就ok,但是C#还要考虑到命名空间的问题
frmMain要调用LoginUI的两个值,但是在此同时,frmMain又要引用LoginUI,所以说就遇到了一个很麻烦的问题,一直在考虑命名空间的问题,但是其实和命名空间没有太大的关系,我却在命名空间这里墨迹了很长时间
LoginUI引用一下frmMain,然后只需要重写一下frmMain的构造函数即可,非常简单
我们通常的构造函数是这样的:
public frmMain()
{
InitializeComponent();
}
在LoginUI中这样来实例化frmMain(这里我的命名空间和窗体名字都是frmMain):
frmMain.frmMain fm = new frmMain.frmMain(level,user.UserID.ToString());
fm.Show();
我们要重写成这样的,然后就可以在这里随便调用Level和ID了,其实返回值不一定是string,可以是任何类型,不过这样也会增加一些必要的耦合
private string Level;
private string ID;
public frmMain()
{
InitializeComponent();
}
public frmMain(string s, string id)
{
InitializeComponent();
this.Level = s;
this.ID = id;
}
还没有评论,来说两句吧...