我有一些代码可以打开一个sqllite数据库,获取一些街道名称,然后填充一个列表框,然后将其附加到一个组合框,这样它就可以在用户输入名称时建议名称。我想制作一个我可以调用的程序,因为它可以在不同的组合框中使用。我可以传递控件的名称,但是如何在将控件作为变量引用时修改控件的属性?
类似的东西:
string A = "cbSTreets"
[A].text = "Sets the Text for the combo box."
如果有人能指出我正确的方向,我会很感激。
答案 0 :(得分:1)
不是将它作为控件的名称传递,为什么不直接传递控件(特别是如果它们都是组合框和相同的类型?)
或者,如果由于某种原因你不能自己传递控件,你可以设置一些像字典这样的数据结构,如果你需要使用字符串名称:
Dictionary<string, ComboBox> comboBoxes = new Dictionary<string, ComboBox>();
//Use the string you want to refer to the combobox and the combobox item itself
comboBoxes.Add("bcbsTreets", comboBox1);
//Use the name as defined in the previous step to get the reference to the combobox and
//set the text
comboBoxes["bcbsTreets"].Text = "whatever";
答案 1 :(得分:1)
您可以尝试这样的事情:
private void SetText(List<string> streets, ComboBox cb)
{
cb.DataSource = streets;
}
当然,您需要从数据库填充街道并传入要填充的ComboBox控件。如果您愿意,可以使用其他集合,但ComboBox数据源需要实现IList
接口。
答案 2 :(得分:0)