массивы контролов в VB.NET ?
От: Кумеров Вадим Евгеньевич  
Дата: 15.04.02 10:44
Оценка:
Такая замечательная штука была в VB 6! И теперь я читаю в хелпе, что похоронили ее заживо, и что события с нескольких контролов я могу обрабатывать так-то и так-то. Ладно. Но как-же быть с такой удобной вещью, как цикл по радио-батонам или чек-боксам?
Например, в VB 6 Я создавал радио-батоны с именами Option1(0), Option1(1) и т.д., а потом писал что-нибудь вроде:
    For i = 0 To 15
        On Error Resume Next
        if Option1.Item(i).Value Then A = i
    Next i

... и в переменной А оказывается номер выбранного радио-батона
Уважаемый All, подскажи как теперь делать такой красивый цикл в VB.NET?

P.S.: Я вообще-то на бейсике пишу не часто, просто начальник поставил меня в жесткие рамки: "Никакого MFC! Интерфейс пиши на VB". Поэтому я лучше сверну VB.NET в трубочку и ... (дальше сами знаете), чем буду писать для решения вышеописанной задачи мудреж более чем в 10 строчек.
Re: массивы контролов в VB.NET ?
От: Аноним  
Дата: 15.04.02 14:15
Оценка:
Здравствуйте Кумеров Вадим Евгеньевич, Вы писали:

КВЕ>Например, в VB 6 Я создавал радио-батоны с именами Option1(0), Option1(1) и т.д., а потом писал что-нибудь вроде:

КВЕ>
КВЕ>    For i = 0 To 15
КВЕ>        On Error Resume Next
КВЕ>        if Option1.Item(i).Value Then A = i
КВЕ>    Next i
КВЕ>

КВЕ>... и в переменной А оказывается номер выбранного радио-батона
КВЕ>Уважаемый All, подскажи как теперь делать такой красивый цикл в VB.NET?
К примеру можно сделать так (извини что на шарпе, на васике боюсь наврать):
foreach(Control ctr in Controls)
 if(ctr.Name.IndexOf("Option") == 1) {
  Option opt = (Option) ctr;
  if(opt.Value)
   A = 55;
 }
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.