请知道的人帮我解答一下,如果成功我可以加分。

解决方案 »

  1.   

    问的 太笼统Form1跟Form2有什么关系不?一般就是Form1的控件public化
      

  2.   

    第一,form1中的控件的modiefer属性改为public,form2中可以通过form1的实例直接访问 form1.xxx.yyy第二,form2中发布属性,通过属性控制
    第三,发消息
      

  3.   

    在Form1中写一个public方法,用来修改Form1中的属性:public void SetProp()
    {
        //详细逻辑
    }
    然后再Form2中增加一个构造函数,将Form1引用传入Form1 form
    public Form2(Form1 f):this()
    {
        this.form = f;
    }
    在Form1打开Form2的时候调用这个构造函数,而不是用默认无参构造函数Form2 f = new Form2(this);
    f.ShowDialog();最后,在Form2里要更改Form1的控件属性时,就调用
    this.form.SetProp();即可
      

  4.   

    谢谢ojlovecd
    的回答。
    我还要请教一下如何关闭Form2窗体呀,给我写句代码行么
      

  5.   

    在哪里关闭?你只要能得到Form2的对象,调用它的Close()方法就可以了
      

  6.   

    form2的定义public class form2 : form
    {
            private Form1 _frm;        public Form1 Frm    //定义一个属性
            {
                get { return _frm; }
                set { _frm = value; }
            }        private void SetForm1()
            {
                string MyStr = "123";
                _frm.EditLable(MyStr);
            }
    }
    form1的定义,调用form2,在form2中修改form1public class form1 : form
    {
            public void EditLable(string Str)   //form1修改方法
            {
                Lable1.Text = Str;
            }        private void FormDisplay()          //调用form2
            {
                form2 frm2 = new form2();
                frm2.Frm = this;
                frm2.ShowDialog();
            }
    }
      

  7.   

    我调用了form2的Close()方法可是不好使呀,关闭不了Form2窗体呀
      

  8.   

    我在说一下我要解决的问题,我是想单击form1中的一个button得到form2,然后在form2中设定一些值,在将这些值传给form1的控件。谁帮我解决了,我加分