Form1中有个Combobox1,我想在Form2中调用Form1中的Combobox1.text的值?怎么办?
我把Form1中的private Combobox1改成public Combobox1,也不行,为啥?如何解决?

解决方案 »

  1.   

    可以给Form1添加一个public的method:GetValue(),返回Combobox1.text的值。
    在form2中调用该方法。
      

  2.   

    可以给Form1添加一个public的method:GetValue(),返回Combobox1.text的值。
    在form2中调用该方法。
    public string GetValue()
    {
        return Combobox1.text;
    }
    可以這樣作
      

  3.   

    public static ComboBox CB;CB=Combobox1;//在showForm2 之前
    Form2 ff= new Form2();
    ff.Show();//Form2中调用Form1中的Combobox1.text的值
    Form1.CB.Text
      

  4.   

    form1
    public string GetValue()
    {
        return Combobox1.text;
    }form2 获取
    form1 f1 = new form1()
    string combobox = fi.GetValue();
      

  5.   

    用属性吧.只读属性public string CText
    {
    get
    {
        return Combobox1.text; 
    }
    }
      

  6.   

    楼上(1、2)的方法无效, 同直接社 public
    因为 Form1没有实例化. 你可以在 Form1里写一个 public static string ComboBoxText 的变量保持和 ComboBox.Text
    (可以在ComboBox_TextChanged 事件里同步这个变量)然后直接访问。或者在构造函数里传递该控件/值
      

  7.   

    form1
    public string getValue()
    {
        return Combobox1.text;
    }form2 获取
    form1 f1 = new form1()
    string combobox = f1.getValue();--------------public string getText
    {
    get
    {
        return Combobox1.text; 
    }
    }获取:
    form1 f1 = new form1()
    string combobox = f1.getText;----------
    楼上说的这几种方法都可以,LZ自己选吧。建议用属性获得
      

  8.   

    不知道楼上几位是表达有问题,还是就是解决方法有问题。
    Form2获取Form1的值,已经隐含了前提,两个Form已同时存在,楼上多位同仁在取Form1时都重新声明了实例,那还能取道当前Form1的值么?最简单的做法是,在Form2中声明Form1变量,在实例化Form2时将Form1实例赋值到Form2中的Form1变量上,这样你可以随时取的Form1中值,当然要取的变量要为公有的
      

  9.   

    给你个 投机的办法Form1 中写个静态变量 把text赋予这个变量 取得值后在  Form2中能直接访问到这个静态变量
    使用前提:此静态变量的在form1中付值要在form2中调用之前
      

  10.   

    用楼上的方法,把form1作成dll,参照到form2
      

  11.   

    呵呵.简单问题,一堆人讨论,同意lovebingye(降龙) 的办法.别人的有点画蛇添足了.