我用父窗口打开了一个文件,并把文件名作为一个字符串保存,请问怎么把这个字符串送到资窗口中,让我可以在子窗口里建立的textbox中可以输出这个字符串

解决方案 »

  1.   

    建立子窗口的时候:new Form(yourString);
    子窗口在窗口的构造函数中接受yourString
      

  2.   

    在子窗体(ChForm)类中定义一个属性:AAA
    ChForm form = new ChForm();
    form.AAA = "Test";
      

  3.   

    或者chForm的那个textbox设为public,直接赋值也可以吧
    ChForm form = new ChForm();
    form.textbox.Text = "Test";
      

  4.   

    干脆字窗口中 public static string aa="";
      

  5.   

    using System;namespace demo
    {
     /// <summary>
     /// Observe 的摘要说明。
     /// </summary>
     public class Observe
     {
      private string strText;
      public event EventHandler TextChange;
      public string StrText
      {
       get{return strText;}
       set
       {
        strText = value;
        if(TextChange != null)
         TextChange(this,EventArgs.Empty);
       }
      }
      public Observe()
      {
       //
       // TODO: 在此处添加构造函数逻辑
       //
      }
     }
    }在Form2中定义一个Observe成员
      private Observe o_Observer;
      public Observe observe
      {
       set
       {
        this.o_Observer = value;
       }
      }
    在Form2的事件处理中改变o_Observe的StrText
      private void button1_Click(object sender, System.EventArgs e)
      {
       o_Observer.StrText = this.textBox1.Text;
       this.Close();
      }在Form1中实例化一个Observer成员
    private Observe o_Observe = new Observe();
    在Form1的事件处理函数中创建Form2的实例,令Form2的observe属性等于Form1的o_Observe并且订阅Observe的事件
      private void button1_Click(object sender, System.EventArgs e)
      {
       Form2 frm = new Form2();
       frm.observe = o_Observe;
       this.o_Observe.TextChange += new EventHandler(o_Observe_TextChange);
       frm.Show();
      }
      

  6.   

    static的话,要开几个子窗口不就可能互相影响了?似乎没这必要吧?
      

  7.   

    父窗体
           private void button3_Click(object sender, EventArgs e)
            {
                Form2 newFrm = new Form2("haha");
                newFrm.MdiParent = this;
                newFrm.Show();
            }
    子窗体
    namespace WindowsApplication1
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
                
            }
            public Form2(string test)
            {
                MessageBox.Show(test);
            }
        }
    }
      

  8.   

    这个是3楼的方法
    ((Form1)this.MdiChildren.GetValue(0)).textBox1.Text = this.textBox1.Text;
    }