我是C#的新手,在从另一个类调用方法时填充组合框时遇到问题。我的来源就像这样
第1课
private void btn_login_Click(object sender, EventArgs e)
{
UserControl1 uc1 = new UserControl1();
uc1.fill_cbb();
}
第2课
public void fill_cbb()
{
cbb_table.Items.Add("Text1");
cbb_table.Items.Add("Text2");
cbb_table.SelectedIndex = 0;
}
当我这样做时,组合框是空的。
答案 0 :(得分:2)
如果是Asp,请注意事件IsPostBack
答案 1 :(得分:0)
您的问题不是从另一个类调用该方法。我想 UserControl1 是你的自定义用户控件,你提到的“class 2”是userControl1。
代码可以正常工作,但是你在该控件的错误实例上调用它。
在btn_login_Click方法中,您将生成一个全新的UserControl1实例。您当然可以这样做,这就是为什么Visual Studio永远不会将其标记为错误,但 uc1 将不是实际位于您的表单中的控件。
让我们在您的表单中说出您已将控件命名为“cbxOptions”。然后在按钮单击事件中,您必须编写
cbxOptions.fill_cbb();
相反,如果该组合框也是UserControl1类型。然后它应该工作得很好。
警告,汽车比喻:就像你想要在汽车上进行新的油漆工作一样。然后你买了一辆相同型号的新车,把它带到油漆车间,把它涂上,然后把它带到垃圾场然后把它压碎。你的旧车当然还会有旧的颜色。