从表单2到Form1获取数据并关闭

时间:2014-01-26 18:49:53

标签: c# .net

我有这个班级

Account.cs

namespace EasyFtp
{
    class Account
    {
        public String Username;
        public String Password;
        public String FtpServer;
    }
}

我有MainWindow表单(我的应用程序的主窗口)和logForm 3文本框和按钮。我想在显示我的主窗口之前登录到我的ftp服务器,所以我必须showdialog我的logform,当用户按下按钮时,它从logform获取所有信息并将其传递给我的主窗口并将数据保存在Account类的对象中;我的问题是我如何传递数据。

MainWindow.cs

namespace EasyFtp
{
    public partial class MainWindow: Form
    {
        private Account myaccount; 
        LogInForm g; 
        public MainWindow()
        {
            InitializeComponent();
            g = new LogInForm();
            g.ShowDialog();



        }

        /* how i continue the code */
    }
}

LogInForm

namespace EasyFtp
{

    public partial class LogInForm : Form
    {       

        public LogInForm()
        {
            InitializeComponent();
        }

        private void OKButton_Click(object sender, EventArgs e)
        {
            /*log in code (not created yet)*/
            this.Dispose();
        }




    }
}

1 个答案:

答案 0 :(得分:0)

更新

您的主窗口

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        textBox1.Text = "original text";
    }


    private void button1_Click(object sender, EventArgs e)
    {
        new Form2().ShowDialog();
    }
}

您的对话框格式,它将更改Form1中的值

public Form2()
{
    InitializeComponent();
    // Get the text from Form1
    textBoxOrg.Text = Application.OpenForms["Form1"].Controls["textBox1"].Text;
}

private void button1_Click(object sender, EventArgs e)
{
    // Change the text on Form1
    Application.OpenForms["Form1"].Controls["textBox1"].Text = textBox1.Text;
}

你可能不会改变公共属性的值而不是UI元素。

另一种更简洁的方法是使用ref

将字段传递给表单