有Form1和Form2
Form1点登录按钮后打开Form2界 并且把Form1里面textbox1的值赋给Form2的lable 在关掉 Form1的界面。 我自己写的代码//Form1登录按钮里面的代码
 if (num > 0)
                {
                    
                    this.DialogResult = DialogResult.OK;   
                    Form2 form2 = new Form2(text_Name.Text);
                    form2.Show();
                    
                }//Form2
 public Form2(string text)
        {
            InitializeComponent();
            this.lbl_welcome.Text = "欢迎:" + text;
        }//Program.cs的代码
namespace Mail
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);            Form1 form1 = new Form1();
            form1.ShowDialog();
            if (form1.DialogResult == DialogResult.OK)
            {
                Application.Run(new Form2());
            }
            
        }
    }
}这样写的话错误错误 提示 “Mail.Form2”不包含采用“0”参数的构造函数 
是Application.Run(new Form2()) 的错误。请问要实现  Form1点登录按钮后打开Form2界 并且把Form1里面textbox1的值赋给Form2的lable 在关掉 Form1的界面。 该怎么写或者怎么改?

解决方案 »

  1.   

    你是从form1转到form2的 那么form1就是主窗体  主窗体是不可以关闭的  如果关闭了整个程序也关闭了,  你在打开form2的时候 只要把form1.hide()就行了
      

  2.   

     Form2 myForm = new Form2(); 你这个地方写错了,你对面向对象还不熟!你看一下介绍构造函数的资料吧
      

  3.   

    首先,form1是主窗体不能关闭,其次,你new form2时,form2是有参数的,不能直接诶new Form2()
      

  4.   

    你是从form1 打开form2的  那么form1是主窗体  主窗体不可以关闭的  一但关闭就会关闭整个程序。也没什么意义了 所以只有隐藏起来 就可以了
      

  5.   

        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
                Form2 myForm = new Form2();
                myForm.SetYourValue("哈哈");
                myForm.Show();
            }
        }    public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }        public void SetYourValue(string strVal)
            {
                label1.Text = strVal;
            }
            private void button1_Click(object sender, EventArgs e)
            {
     
            
            }
        }给你个简单示例