我有两个窗体,第一个Form1(MDI容器)父窗口,第二个Form2子窗口。运行Form1时,用Show()的方法打开Form2窗体。这时在Form2窗体上登陆,当登陆成功后将用户名传给Form1窗体。应该如何写代码:Form1窗体上怎么写?Form2窗体上又怎么写?

解决方案 »

  1.   

    父窗口:
    public partial  class wc_DanChen : Form
        {
            public int userID;
            public wc_DanChen()
            {
                InitializeComponent();
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                wc_NewYard NewForm = new wc_NewYard(this);     
                NewForm.show();
            }
    }子窗口
    public partial class wc_NewRoll : Form
        {
            private wc_NewYard frmParent;        public wc_NewRoll(wc_NewYard parent)
            {
                InitializeComponent();
                frmParent = parent;
            }
            private void button3_Click(object sender, EventArgs e)
            {
                frmParent.userID = "";
                this.close();
            }
    }
      

  2.   

    方法很多
    你可以在new form2的时候把form1传过去
    然后再form2里面调用form1里面的公共方法或者你在form2里面发一个事件出来
    在form1里面接收
      

  3.   

    可以通过全局变量的方法实现
    如:
    form2
     public string a="";form 1
      private string aa="";
       
    aa=form2.a;
    Messagebox.Show(aa);