在Windows窗体中将数据从一个窗体传递到另一个窗体c#

时间:2016-05-14 11:24:42

标签: c# .net winforms

我有两种形式form1和form2:

    名为“DemandePrixClient”的
  1. Form1来自TextboxesComboboxs以及button转移。
  2. 名为“DemandePrixFournisseur”的
  3. Form2来自Textboxes(传递所有数据条目)
  4. 当我点击button转移时,这会显示form2以及Form1的所有输入。

    先谢谢。

    我有下面的代码,但它不起作用。

    //Code Form1
    public partial class DemandePrixClient : Form
    {
        public string textbox1;
        public string textbox2;
        public string textbox3;
        public string textbox5;
        public string combobox1;
        public string combobox2;
        public string combobox4;
        public string combobox6;
        public string datetime;
    
        public DemandePrixClient()
        {
            InitializeComponent();
        }
        private void DemandePrixClient_Load(object sender, EventArgs e)
        {
            // TODO: cette ligne de code charge les données dans la table 'timarDataSet1.Client'. Vous pouvez la déplacer ou la supprimer selon vos besoins.
            this.clientTableAdapter.Fill(this.timarDataSet1.Client);
    
        }
        private void button1_Click(object sender, EventArgs e)
        {
            DemandePrixClient info = new DemandePrixClient();
            info.textBox1 = textBox1;
            info.textBox2 = textBox2;
            info.textbox3 = textbox3;
            info.textbox5 = textbox5;
            info.comboBox1 = comboBox1;
            info.combobox2 = combobox2;
            info.comboBox4 = comboBox4;
            info.comboBox5 = comboBox5;
            info.datetime = datetime;
            DemandePrixFournisseur dpf = new DemandePrixFournisseur(info);
            dpf.Show();
            this.Hide();
        }
    

    // Code Form2

    public partial class DemandePrixFournisseur : Form
    {
    
        private DemandePrixClient info;
    
        public DemandePrixFournisseur(DemandePrixClient information)
        {
            InitializeComponent();
            info = information;
        }
    }
    

2 个答案:

答案 0 :(得分:1)

使用当前实例DemandePrixFournisseur关键字

DemandePrixClient致电this
public string text1;
public string text2;
public string text3;
private void button1_Click(object sender, EventArgs e)
    {
        this.text1 = this.textBox1.Text;
        this.text2 = this.textBox2.Text;
        this.text3 = this.textBox3.Text;
        DemandePrixFournisseur dpf = new DemandePrixFournisseur(this);
        dpf.Show();
        this.Hide();
    }

然后你可以得到所有的价值

public partial class DemandePrixFournisseur : Form
{

    private DemandePrixClient info;

    public DemandePrixFournisseur(DemandePrixClient information)
    {
        InitializeComponent();
        info = information;
        this.textBox1.Text = info.text1; // you can get other value like this way
        this.textBox2.Text = info.text2;
        this.textBox3.Text = info.text3;  
        //or simply
        this.textBox2.Text = information.text2;
        // and others textbox and combobox value similarly
    }


}

答案 1 :(得分:0)

通过类静态字段实现此目的的简便方法。在静态字段和Form2上的Form1设置数据从静态字段中获取数据。