【机房重构】跨窗体传值

小灰灰 2021-06-24 15:58 500阅读 0赞

果然C#的跨窗体传值比vb难得多,vb就定义一个全局变量就ok,但是C#还要考虑到命名空间的问题

frmMain要调用LoginUI的两个值,但是在此同时,frmMain又要引用LoginUI,所以说就遇到了一个很麻烦的问题,一直在考虑命名空间的问题,但是其实和命名空间没有太大的关系,我却在命名空间这里墨迹了很长时间

LoginUI引用一下frmMain,然后只需要重写一下frmMain的构造函数即可,非常简单

我们通常的构造函数是这样的:

  1. public frmMain()
  2. {
  3. InitializeComponent();
  4. }

在LoginUI中这样来实例化frmMain(这里我的命名空间和窗体名字都是frmMain):

  1. frmMain.frmMain fm = new frmMain.frmMain(level,user.UserID.ToString());
  2. fm.Show();

我们要重写成这样的,然后就可以在这里随便调用Level和ID了,其实返回值不一定是string,可以是任何类型,不过这样也会增加一些必要的耦合

  1. private string Level;
  2. private string ID;
  3. public frmMain()
  4. {
  5. InitializeComponent();
  6. }
  7. public frmMain(string s, string id)
  8. {
  9. InitializeComponent();
  10. this.Level = s;
  11. this.ID = id;
  12. }

发表评论

表情:
评论列表 (有 0 条评论,500人围观)

还没有评论,来说两句吧...

相关阅读

    相关 机房重构——充

    写在前面的话:     其实重构开始有一段时间了但是由于开始不知道如何下手搞得乱七八糟,浪费了很多时间,因为看博客什么的好多人都用了存储过程,泛型什么的感觉自己需要学的有

    相关 WinForm大全

    第一种方法: 创建一个类,里面声明用于存储接收的字段。传的时候存储于字段中,要用的时候,直接类名.字段名 进行调用。(这种方法传递是双向的) 第二种方法: 1

    相关 间动态

      目录 一、声明公有静态变量 二、更改Form.designer.cs文件,将控件的访问权限改为public,供其他窗体访问 三、利用委托 子窗体点击“加入购物车”