C# 从另一个表单访问一个表单的组合框项

1 c# forms combobox

我有两种形式:form1 和 form 2。组合框在 form2 中。我正在尝试将一个项目添加到 form1 的组合框选项列表中。这是我迄今为止尝试过的。

form1:          
var form2 = new Form2();                   
if (variable == "value") {           
  form2.Controls["ComboBox1"].Items.Add("another item")          
}

this.Hide();          
form2.Show; 
Run Code Online (Sandbox Code Playgroud)

这个问题是它不允许我选择项目。(它不允许我输入 .Items.Add)


我还尝试通过单击表单中的组合框并将私有更改为公开来公开组合框。这是我改变它时的样子。

public void comboBox1_SelectedIndexChanged(object sender, EventArgs e){
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试访问comboBox1所有可用的内容时:

comboBox1_SelectedIndexChanged

form2.comboBox1    //This doesn't work            
form2.comboBox1_SelectedIndexChanged   //This is the only option available 
Run Code Online (Sandbox Code Playgroud)

我可能犯了很多错误,但那是因为我对此很陌生。我刚开始学习,所以如果你能试着简单地解释一下会有所帮助。如果可能,请避免使用 get{} set{} 东西。请向我解释如何以不同的形式公开按钮和其他内容,因为我知道单击它并将私有更改为公开并不是我在上面的示例中所做的正确方法。

小智 5

转到可视化 UI 设计器并在属性中找到修饰符并将其更改为公共: 在此处输入图片说明

现在您需要对代码进行一些小的更改:

var form2 = new Form2();                   
if (variable == "value") {           
 form2.ComboBox1.Items.Add("another item");      
}

this.Hide();          
form2.Show; 
Run Code Online (Sandbox Code Playgroud)