有两个窗体Form1、Form2,Form2继承Form1,在Form2 中如何对父窗口Form1中的变量重新赋值。能不能重新赋值呀?

解决方案 »

  1.   

    把Form1中的变量的引用传递给Form2,就可以在Form2中赋值了
      

  2.   

    Form1,Form2已经有父子关系了,直接通过Form2.Parent找到Form1,再赋值即可
      

  3.   

    Form1中代码。 
    public string FormText = "Test";
            private void Form1_Load(object sender, EventArgs e)
            {
                this.Text = FormText;
            }
    我想在子窗口,form2中对FormText重新赋值,form2中该怎么写呀?
      

  4.   

    Form1中:     private string FormText = "Test";
         private Form2 frm;        public Form1()
            {
                InitializeComponent();
                this.Text = FormText; 
            }
            private void button1_Click(object sender, EventArgs e)
            {
                frm = new Form2();
                frm.button1.Click += new EventHandler(ChangeValue);
                frm.Show();
            }        void ChangeValue(object sender, EventArgs e)
            {
                this.FormText = frm.textBox1.Text;
                this.Text = this.FormText;
            }Form2中:
    public TextBox textBox1;
      

  5.   

    Form2里再加个public Button button1即可
      

  6.   

    不用控件你能改变他的值?难道要写成死的:在Form2中text = "123";
      

  7.   

    用set 和 getForm1的
            private static string a; //定义一个静态变量
            public string aa
            {
                get { return a; }  //返回a
                set { a = value; } //a可以被修改,假如不需被修改,则不用写set
            }a可以在其他地方随便改Form2的        Form1 a = new Form1();
           string str = a.aa;   //已经获取到Form1得a了刚刚写的,应该没问题。
      

  8.   

    class Form2:Form1
    {
    public Form2()
    {
    this.Load += new EventHandler(Form2_Load);
    } void Form2_Load(object sender, EventArgs e)
    {
    this.Text = "abcd";
    }
       
    }