日期:2014-05-18  浏览次数:21181 次

(求助)c#怎么从一个窗口获得另一个窗口控件的值
例如有 form1 和 form2。
在form1中有comboBox控件(里面有三个项,关机,注销,重启)。
我现在想在form2中获得comboBox已经选好的项(程序已运行)。


谁知道说详细点。。在网上找了好久。。都没比较详细的(看不懂)。。只好发帖

------解决方案--------------------
在form2中声明一个对象,然后在form2的构造方法中进行赋值,在调用的时候,将要传的值赋值过去,然后在form2中直接用该值就OK了
------解决方案--------------------
form2声明个全局变量aa
combobox的值给它
form2 f2=new form2(aa);
f2.show();

form1中:
string xx;
public Form1(string p)
{
InitializeComponent();
xx = p;
}


xx就是传来的值了
------解决方案--------------------
把3个控件在系统自动生成代码区,把控件的访问修饰符改为public,在把该窗体的对象传到窗体2,通过对象调用窗体的控件。
------解决方案--------------------
1.用构造函数传参。
2.直接给form2 写个个属性。也可以直接Public 变量。
F1 中

C# code

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 fr2 = new Form2();
            fr2.YourVar = "你获取的值";
            fr2.ShowDialog();
        }
    }
}