想通过checkbox事件 ,来实现不同选择下 ,combobox中的数据的正确显示,问题出现在,触发checkbox事件后,往combobox中设置的值也取到了,但在画面上,却没有显示
private void ProcessBCheckBox_CheckedChanged(object sender, EventArgs e)
{
if (ProcessBCheckBox.Checked)
{
ls.Clear(); //ls是一个list列表
foreach (DataRow dra in APrintDt.Rows) // APrintDt里面存着从数据库中取出的数据
{
String printerName = String.Empty;
printerName = dra["aliasName"].ToString();
ls.Add(printerName);
}
this.printercbBox.DataSource = ls; // 这一步中 ls有值,printercbBox.DataSource 也附上值了
Update();
ChangeVisibleState(false); // 这一步控制部分组件的显示隐藏,没涉及到combobox
}
else
{
ls.Clear();
foreach (DataRow drb in BPrintDt.Rows)
{
String printerName = String.Empty;
printerName = drb["aliasName"].ToString();
ls.Add(printerName);
}
printercbBox.DataSource= ls;
Refresh();
ChangeVisibleState(true);
}
}
运行结果就是 combobox中没有显示,是空的