foreach (Control ctrl in Controls)
{
if(ctrl is ListBox)
{
string selectedtext = ctrl.GetItemText(ctrl.SelectedItem);
}
}
获取以下消息
Control不包含" GetItemText"的定义并且没有" SelectedItem"
的扩展方法
使用名称LTBitemXX
答案 0 :(得分:1)
ctrl
变量声明为Control
类型,因此您无法使用特定于派生类的任何内容。
这样的东西会起作用:
foreach (Control ctrl in Controls)
{
ListBox lb = ctrl as ListBox;
if(lb != null)
{
string selectedtext = lb.GetItemText(lb.SelectedItem);
}
}
答案 1 :(得分:1)
foreach (Control ctrl in Controls)
{
if(ctrl is ListBox)
{
string selectedtext = ((ListBox)ctrl).GetItemText(ctrl.SelectedItem);
}
}
您还可以使用Linq获取指定类型的控件
foreach (ListBox listbox in Controls.OfType<ListBox>())
{
string selectedtext = listbox.GetItemText(listbox.SelectedItem);
}