有2个窗体,FROM_A和FROM_B,在FROM_A中实例化FROM_B,然后如何在FROM_B中为FROM_A中的一个变量X赋值?

解决方案 »

  1.   

    在FROM_B里的构造函数传参数From_B(FROM_A form),把this传进去,然后再对form赋值
      

  2.   

    1,FROM_A 的X设置为public2, FROM_A:写代码:  
     FROM_B f = new FROM_B();
                f.Owner = this;
                f.Show();    
    3,
    FROM_B:写代码:
              FROM_A F = (FROM_A)this.Owner;
                F.X = "AA";
                F.Show();
     
      

  3.   

    第1步:在解决方案上添加一个窗体Form2;并添加textBox1、textBox2、Button1,将Button1的标题设为“确定”,DialogResult属性设为“OK”; 
    第2步:在窗体Form2的类代码中添加两个私有字段: _username、_password,并添加两个public属性:UserName、Password;代码如下: 
    public partial class Form2: Form 

            private string _username; 
            private string _password; 
            public string UserName 
            { 
                get 
                { 
                    return _username; 
                } 
                set 
                { 
                    _username=value; 
                } 
            } 
            public string Password 
            { 
                get 
                { 
                    return _password; 
                } 
                set 
                { 
                    _password=value; 
                } 
            } 
            ..... 
    } 第3步:窗体间相互传值演示 
    在Form1添加一个的Botton1、一个comboBox1,在Botton1_Click函数中如下代码: 
    private void button1_Click(object sender,EventArgs e) 

          Form2 myForm2 = new Form2(); 
          myForm2.UserName="Richard";//Form1向Form2传值!!! 
          myForm2.Password="pwd1234"; 
          DialogResult result= myForm2.ShowDialog(); 
          if(result==DialogResult.OK) 
          { 
                comboBox1.ITems.Add(myForm2.UserName);////Form2向Form1传值!!! 
                comboBox2.ITems.Add(myForm2.Password); 
            } 

      要充分演示上述功能,还需要对Form2的代码作如下完善: 
    第1,在Form2_Load中添加如下代码: 
    private Form2_Load(object sender,EventArgs e) 

        textBox1.Text=_username; 
        textBox2.Text=_password; 

    第2,在textBox1、textBox2的textChanged事件中添加如下代码: 
    private void textBox1_TextChanged(object sender,EventArgs e) 

        this.UserName=textBox1.Text; 

    private void textBox2_TextChanged(object sender,EventArgs e) 

        this.Password=textBox2.Text; 
    } 欢迎转载,但请保留出处,本文章转自[华软网] 原文链接:http://www.huarw.com/program/net/c2/200903/1674139.html
      

  4.   

    http://topic.csdn.net/u/20090522/14/5e5a6a18-51a0-48d7-a972-be0b1d7a9a1e.html
      

  5.   

    http://topic.csdn.net/u/20090522/14/5e5a6a18-51a0-48d7-a972-be0b1d7a9a1e.html参考下
      

  6.   

    还是委托!
    看这个Using a delegate to pass data between two forms
      

  7.   

    如果是想改变另个FORM中的一个变量,这说明你要对该变量进行操作,你还是用静态
    变量好些,public static 声明变量好些。
      

  8.   

    把formA里面的字段a设为static的类级变量,a="A".在formB里面直接用a="B"就行了~
      

  9.   

    首先FROM_A中的X的访问修饰符必须是public
    然后在实例FROM_B时可以将FROM_A作为参数传给FROM_B
    FROM_B fb=new FROM_B(this);
    这样就在FROM_B中访问到X的并给它赋值
      

  10.   

     还要记住以下的代码
    Form_A f=null;
    public Form_B(Form_A fa)
            {
                InitializeComponent();
                f = fa;
            }
    private void Form_B_Load(object sender, EventArgs e)
            {
                f.X这里就能访问到X了
            }