C# windows程序,然后有2个windows窗体,如a.cs和b.cs
现在想要在a.cs中一个textBox输入信息,于b.cs中另一textBox显示该信息,应该怎么做?
是不是类似全局变量的东西?请教一下

解决方案 »

  1.   

    用static 全局变量可以做到
      

  2.   

    建一个类 存 static  text = "";变量 在a.cs 里
    text = textbox1.text  ;
    b.cs 里就可以
    textbox2.text  = text ;
    就可以了
      

  3.   

    传递窗体构造函数中写
    private void InitializeComponent()
    {
    .....
        myWin = this;
    }
    public static Form1 myWin = null;传递窗体代码区写
    public string text
    {
        get { return this.textbox.Text; }
        set { this.textbox.Text = value; }
    }接受窗体代码区写
    string text = Form1.myWin.text.ToString(); 
      

  4.   

    添加一个类,比如是abcde
    namespace abcde
    {
        public class abc
        {
            public static string str;
        }
    }
      

  5.   

    用事件,窗体A的txtBox改变时,产生一个事件,txtBox.Text当作事件的参数。
    窗体B处理这个事件,就OK了。//窗体A
    public delegate void txtBoxChangeEventHandler(string s);
    public event txtBoxChangeEventHandler txtBoxChange;//窗体A的txtBox的Change事件
    private void txtBox_Change(Object sender, EventArgs e)
    {
    if (!txtBoxChange)
    {
    txtBoxChange(txtBox.Text);
    }
    }//窗体B
    FormA.txtBoxChange += new FormA.txtBoxChangeEventHandler(FormA_txtBox_Change);
    private void FormA_txtBox_Change(string s)
    {
    txtBox.Text = s;
    }貌似就是这样,好久没玩了,记不清了,不知道对不对。
      

  6.   

    错了,//窗体A的txtBox的Change事件
    private void txtBox_Change(Object sender, EventArgs e)
    {
    if (!txtBoxChange)
    {
    txtBoxChange(txtBox.Text);
    }
    }里面的if (!txtBoxChange)应该改称
    if (txtBoxChange != null)
      

  7.   

    直接在A窗体中声明一个变量:public static string myStr = "formA中的数据";在B窗体的加载中显示嘛。
    this.textBox1.Text = A.myStr;