C# 如何使用不同形式的按钮将项目添加到组合框中

C# 如何使用不同形式的按钮将项目添加到组合框中,c#,forms,combobox,C#,Forms,Combobox,我试图向combobox中添加一个项目,它是一种形式,而我试图使用的按钮是另一种形式 Form1是带有组合框的表单,Form2是带有按钮的表单 这是我尝试的代码: private void dodajGumb_Click(object sender, EventArgs e) { var frm2 = new Form1(); frm2.comboFilmovi.Items.Add(imeText.Text); } 我还尝试在form1.cs中创

我试图向combobox中添加一个项目,它是一种形式,而我试图使用的按钮是另一种形式

Form1是带有组合框的表单,Form2是带有按钮的表单

这是我尝试的代码:

private void dodajGumb_Click(object sender, EventArgs e)
    {
        var frm2 = new Form1();
        frm2.comboFilmovi.Items.Add(imeText.Text);
    }
我还尝试在form1.cs中创建一个公共方法,如下所示:

public void AddItem(string item)
    {
        comboFilmovi.Items.Add(item);
    }
private Form1 _form1;
public Form2(Form1 form)
{
    InitializeComponent();
    _form1 = form;
}
 private void dodajGumb_Click(object sender, EventArgs e)
 {
    _form1.comboFilmovi.Items.Add(imeText.Text);
 }
以及form2.cs中的代码:

var fr2 = new Form1();
        fr2.AddItem(imeText.Text + " - " + datum.Value.ToString("dd-MM-yyyy") + " - " + vrijemeText.Text);

我没有收到任何错误,只是什么都没有发生,组合框中没有新项目。有什么建议吗?

代码中的问题是您正在尝试创建Form1的新实例。您必须拥有接受Form1实例作为参数的Form2构造函数。大概是这样的:

public void AddItem(string item)
    {
        comboFilmovi.Items.Add(item);
    }
private Form1 _form1;
public Form2(Form1 form)
{
    InitializeComponent();
    _form1 = form;
}
 private void dodajGumb_Click(object sender, EventArgs e)
 {
    _form1.comboFilmovi.Items.Add(imeText.Text);
 }

希望这能有所帮助。

@C-PoundGuru我想我做了那篇文章中所说的,但仍然没有结果……我讨厌投票来结束这些,但我认为答案在另一个问题上。您应该设置断点并逐步完成代码。