我把程序写成这样:mainform.cs
namespace Test
{
    public partial class MainForm : Form
    {
        public MainForm()
        {
            InitializeComponent();
        }        private void button1_Click(object sender, EventArgs e)
        {
            Form1 form1 = new Form1();
        }
    }
}form1.cs
namespace Test
{
    public partial class Form1 : Form
    {
        public Login()
        {
            InitializeComponent();
        }
    }
}现在form1里面有个textBox1和botton1,请教各位高手botton1的Click事件应该怎么写才能把textBox1的文本传给MainForm?

解决方案 »

  1.   

    mainform.cs
    namespace Test
    {
        public partial class MainForm : Form
        {
            public MainForm()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
               Form1 form1 = new Form1();
                if (form1.ShowDialog() == DialogResult.OK)
                {
                    string str = form1.UserName;
                }
            }
        }
    }form1.cs
    namespace Test
    {
        public partial class Form1 : Form
        {
    private string strUserName = "";
            public string UserName
            {
                get
                {
                    return strUserName;
                }
            }
            public Login()
            {
                InitializeComponent();
            }
     private void button1_Click(object sender, EventArgs e)
            {
                strUserName = this.textBox1.Text;
                DialogResult = DialogResult.OK;
            }
        }
    }
      

  2.   

    namespace Test
    {
        public partial class MainForm : Form
        {
            public static Name;//使用静态变量
            public MainForm()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
               Form1 form1 = new Form1();
                if (form1.ShowDialog() == DialogResult.OK)
                {
                    string str = form1.UserName;
                }
            }
        }
    }
      

  3.   

    在botton1的Click事件给静态变量Name赋值
      

  4.   

    可以不用.net的方法,别的方法也很多。比如,秘音入室,传呼蛙,飞鸽传书等
      

  5.   

    回二楼三楼的高手:我觉得我没把意思表达清楚,MainForm的botton1是用来new form1的,我想在form1里面放个botton1,把form1里的textBox1.Text传回到MainForm。现在不知道MainForm没有被实例化,怎么传啊?  四楼的哥哥:我还试过意念转移呢,代码都不用敲
      

  6.   


    我觉的还是通过构造方法传值:
    MainForm form1=new MainForm(this.textbox1.text,this.textbox2.text);
    具休的自己想。
      

  7.   

    mainform.cs
    namespace Test
    {
        public partial class MainForm : Form
        {
            public static Name;//使用静态变量,不需要实例化
            public MainForm()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
                Form1 form1 = new Form1();
            }
        }
    }
    form1.cs
    namespace Test
    {
        public partial class Form1 : Form
        {
            public Login()
            {
                InitializeComponent();
            }
        }
           private void button1_Click(object sender, EventArgs e)
            {
                Test.mainform.Name=this.textBox1.Text;
            }}
      

  8.   

    在第一个窗体创建第二个窗体时就可以传递。例如:
    form1:form
    {
    int a1=10;
    ........
        form2 for=new form2(a1);
    }
    form2:form
    {int _a;
       form2(int a)
       {
          _a=a;
       }
    }