foreach (Control ctrl in Controls)
{
if(ctrl is ListBox)
{
string selectedtext = ctrl.GetItemText(ctrl.SelectedItem);
}
}
Отримання наступного повідомлення
Контроль не містить визначення для "GetItemText" і жодного методу розширення для "SelectedItem"
Складові списки створюються з назвою LTBitemXX
Відповіді:
1 для відповіді № 1The ctrl
змінна оголошена типу Control
, тож ви не можете використовувати що-небудь конкретне для похідного класу.
Щось подібне буде працювати, хоча:
foreach (Control ctrl in Controls)
{
ListBox lb = ctrl as ListBox;
if(lb != null)
{
string selectedtext = lb.GetItemText(lb.SelectedItem);
}
}
1 для відповіді № 2
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);
}