请问大家,我建立了包括4个form的这样一个窗体,在form2里有一个textbox1控件,里面有用户输入的值,而我在form4的lable_click事件中声明了一个double变量a,这个变量的值就是form2里textbox1的值,请问我要写怎样的赋值语句,才能把textbox的值传递给变量a  比如a=form2.textbox1.Text  ?  请指教! 这相当于从不同的using system中调用值呢,请问有什么调用规则吗

解决方案 »

  1.   

    form2 f=new form2();
    double a= f.textbox1.text;
    ps:貌似是这样。。好长时间没用了
      

  2.   

    貌似还需要将form2中textbox1的权限改为public,默认为private。。
      

  3.   

    Modefiers的属性由private变为public。。
      

  4.   

    窗体之间的传值方式有好多种的,直接一直的就是楼上讲的实例化窗体 然后获取控件值,但如果两个窗体属于不同的文件夹的话要加上using 引用 比如你要获取A窗体的值,A窗体放在 FromAFile文件夹下,则你的B窗体就要加上using FromAFile 才能调用A窗体。
    窗体间传值还可以通过委托,定义公共类,定义一个static类型来传值。
    定义公共类的方法:你在A窗体的时候把textbox控件值set到定义的公共publicA里面的一个属性里面然后B窗体Get就可以获取到。比如:publicA 里面  private string _atext;
    public string atext
    {
      set {_atext=value;}
       get {return _atext;}
    }
    那么你在需要调用窗体值里面访问这个属性就可以了
    static方法: 在A窗体里面 定义 public static strtext="";然后赋值。在B窗体里面直接就可以引用
    还有一种很好的方法是通过委托 和事件去处理,个人建议这个方案最好