我有两种形式:form1 和 form 2。comboBox 在 form2 中。我正在尝试将一个项目添加到 form1 的组合框选项列表中。到目前为止,这是我尝试过的方法。
form1:
var form2 = new Form2();
if (variable == "value") {
form2.Controls["ComboBox1"].Items.Add("another item")
}
this.Hide();
form2.Show;
这个的问题是它不允许我选择项目。 (它不允许我输入 .Items.Add)
我还尝试通过在表单中单击它并将私有(private)更改为公共(public)来使组合框公开。这是我更改后的样子。
public void comboBox1_SelectedIndexChanged(object sender, EventArgs e){
}
但是当我尝试访问 comboBox1
时,我得到的可用信息是:
comboBox1_SelectedIndexChanged
form2.comboBox1 //This doesn't work
form2.comboBox1_SelectedIndexChanged //This is the only option available
我可能犯了很多错误,但那是因为我是新手。我刚刚开始学习,所以如果你能尝试简单地解释一下那会有所帮助。请尽可能避免 get{} set{} 事情。并且请向我解释如何以不同的形式公开按钮和其他内容,因为我知道单击它并将私有(private)更改为公共(public)不是我在上面的示例中所做的正确方法。
最佳答案
转到可视化 UI 设计器并在属性中找到修饰符并将其更改为 Public:
现在你需要对代码做一点小改动:
var form2 = new Form2();
if (variable == "value") {
form2.ComboBox1.Items.Add("another item");
}
this.Hide();
form2.Show;
关于C# 从另一个窗体访问一个窗体的组合框项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10679296/