c#窗体之间传递值

       为了实现窗体之间的传递值,我差不多花了一个星期的时间,皇天不负有心人,我终于调好各种bug了,(*^▽^*)开心。

       接下来,我将介绍两种类型(类与主窗体,主窗体以及类与子窗体的传递值)方法。

       一、类与主窗体的传递值

             首先,在类如date.cs中,定义全局变量 public double[,] a;

c#窗体之间传递值_第1张图片

             因为是在主窗体form1中获取a的值,所以需要在form1中调用全局变量a。方法是定义  public date  tl =new date();

接下来,就可以在form1中使用a,使用方法是tl.a

c#窗体之间传递值_第2张图片

       以上就是类与主窗体之间进行传值。

 

     二、子窗体,与主窗体以及类进行传值

          前提是,在类中定义全局变量public double a;在子窗体获取值,最后在主窗体中进行各种计算。

           因为原本在主窗体定义了 public date  tl =new date(),所以接下来就要在子窗体中定义form1 f1  = (Form1)this.Owner,需要注意的是,这不能在子窗体的头定义,而是在获取a值得某个控件中进行定义,(注意,调用时要这样的格式:f1.tl.a)如:

               private void button2_Click(object sender, EventArgs e)
        {

                 Form1 f1 = (Form1)this.Owner;   //此处非常重要,否则无法将子窗体的值传递给主窗体

                   f1.tl.control = new double[aa.Length, 4];  //存储控制点x,y,z,控制点序列号
                   f1.tl.Ncontrol = aa.Length;     //控制点个数

        }

c#窗体之间传递值_第3张图片

       

推荐博客:

    https://blog.csdn.net/momojiang5/article/details/50384728

  https://bbs.csdn.net/topics/390538445

 

三,子窗体与主窗体之间传值

比如,某个子窗体需要借用主窗体某个程序,则将private改为public则就可以调用

c#窗体之间传递值_第4张图片

 

你可能感兴趣的:(c#窗体之间传递值)