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

本文关键字:comboBox 链接 form2 form1 数据源 | 更新日期: 2023-09-27 18:00:58

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

Form form1 = Application.OpenForms["Form1"];
private void BookSetupForm_Load(object sender, EventArgs e)
{
    comboBox1.DataSource = form1.comboBox1;
}

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

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

由于Form 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;
    }
}

在Form 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;
    }
}

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