从另一个班级打电话时填充组合框

时间:2013-01-17 13:08:38

标签: c# asp.net

我是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;
}

当我这样做时,组合框是空的。

2 个答案:

答案 0 :(得分:2)

如果是Asp,请注意事件IsPostBack

答案 1 :(得分:0)

您的问题不是从另一个类调用该方法。我想 UserControl1 是你的自定义用户控件,你提到的“class 2”是userControl1。

代码可以正常工作,但是你在该控件的错误实例上调用它。

在btn_login_Click方法中,您将生成一个全新的UserControl1实例。您当然可以这样做,这就是为什么Visual Studio永远不会将其标记为错误,但 uc1 将不是实际位于您的表单中的控件。

让我们在您的表单中说出您已将控件命名为“cbxOptions”。然后在按钮单击事件中,您必须编写

  

cbxOptions.fill_cbb();

相反,如果该组合框也是UserControl1类型。然后它应该工作得很好。

警告,汽车比喻:就像你想要在汽车上进行新的油漆工作一样。然后你买了一辆相同型号的新车,把它带到油漆车间,把它涂上,然后把它带到垃圾场然后把它压碎。你的旧车当然还会有旧的颜色。