C# 如何将comboBox数据源从form1链接到form2 comboBox?

C# 如何将comboBox数据源从form1链接到form2 comboBox?,c#,winforms,combobox,C#,Winforms,Combobox,如何从form1 comboBox在form2的comboBox中显示成员 Form form1 = Application.OpenForms["Form1"]; private void BookSetupForm_Load(object sender, EventArgs e) { comboBox1.DataSource = form1.comboBox1; } 问题是不同的,因为我想传输组合框值而不是文本框值,并使用不同的方法。因为表单1上的comboBox不是public

如何从form1 comboBox在form2的comboBox中显示成员

Form form1 = Application.OpenForms["Form1"];

private void BookSetupForm_Load(object sender, EventArgs e)
{
    comboBox1.DataSource = form1.comboBox1;
}

问题是不同的,因为我想传输组合框值而不是文本框值,并使用不同的方法。

因为表单1上的
comboBox
不是
public
,您需要一个额外的字段或属性作为传输对象:

public partial class Form1 : Form
{

    public ComboBox comboTransfer;

    public Form1()
    {
        InitializeComponent();

        // example combobox
        this.comboBox1.Items.AddRange(new string[] { "1", "2", "3" });
        // reroute the content
        this.comboTransfer = comboBox1;
    }
}
在表格2中,您可以访问此传输对象

public partial class Form2 : Form
{
    Form1 Form_1;
    public Form2()
    {
        InitializeComponent();

        Form_1 = Application.OpenForms["Form1"] as Form1;
    }

    private void BookSetupForm_Load(object sender, EventArgs e)
    {
        // access here your transfer object
        this.comboBox1.DataSource = Form_1.comboTransfer.Items;
    }
}

这只是一种方法(我首先想到的)

谢谢,我会尝试一下,然后再给你回复。