Страница: 1 |
Вопрос: перебрать контролы в vb.net? | Добавлено: 24.11.07 22:00 |
Автор вопроса: ![]() |
На форме есть 5 текстбоксов - textbox1,textbox2...textbox5
при выполнении кода все пять должны получить текст Ура! Как это написать? public a as integer for a=1 to 5 textbox(a).text="Ура!"'<---вот эта строчка неясна, как писать textbox(a)? textboxa или textbox[a]? или как? a=a+1 next |
Ответы | Всего ответов: 10 |
Номер ответа: 1 Автор ответа: ![]() ![]() ICQ: 61452976 Вопросов: 2 Ответов: 12 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 24.11.07 22:17 |
ок, работает методом создания dictionary(of integer,system.windows.forms.textbox)
потом добавления всех текстбоксов и перебором по этому словарю. Однако для всех контролов которые у меня есть (40 штук), принадлежащих разным классам это дюже геморно. Неужели нету более простого пути???? |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() black admin ICQ: 261779681 Вопросов: 87 Ответов: 633 |
Web-сайт: Профиль | Цитата | #2 | Добавлено: 25.11.07 07:39 |
На форме есть 5 текстбоксов - textbox1,textbox2...textbox5
при выполнении кода все пять должны получить текст Ура! Как это написать? For i As Integer = 0 To Me.Controls.Count - 1
If Me.Controls(i).GetType() Is GetType(TextBox) Then CType(Me.Controls(i), TextBox).Text = "Ура?" End If Next ок, работает методом создания dictionary(of integer,system.windows.forms.textbox)
потом добавления всех текстбоксов и перебором по этому словарю. Однако для всех контролов которые у меня есть (40 штук), принадлежащих разным классам это дюже геморно. Неужели нету более простого пути???? это ты сам с собой разговориваешь ![]() ![]() dictionary(of integer,system.windows.forms.textbox)
тогда уж наверное лучше будет так List(Of system.windows.forms.textbox) Однако для всех контролов которые у меня есть (40 штук), принадлежащих разным классам это дюже геморно.
моя твоя не понимать ![]() ![]() Неужели нету более простого пути????
наверное, есть ![]() -- Кодообменник Kbyte.Ru - бесплатный сервис по обмену кодами http://kbyte.ru/code |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #3 | Добавлено: 25.11.07 13:00 |
Алексей - жму руку |
Номер ответа: 4 Автор ответа: ![]() ![]() ICQ: 61452976 Вопросов: 2 Ответов: 12 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 25.11.07 13:07 |
Алексей - приведенный Вами код с Me.Controls не работает - A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll
A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll A first chance exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll Суть в чем - есть цикл, который обрабатывает значения 5 групп введенных полей, (на форме 5 табов, в каждой по 8 полей ввода), табы однотипны, хотелось просто прописать все один раз, а потом сделать счетчик-переменную, которая прогонит цикл 5 раз для 5 разных групп данных, с тем чтобы затем уже их вывести. |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() black admin ICQ: 261779681 Вопросов: 87 Ответов: 633 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 25.11.07 13:20 |
Алексей - приведенный Вами код с Me.Controls не работает -
все работает ![]() ![]() Суть в чем - есть цикл, который обрабатывает значения 5 групп введенных полей, (на форме 5 табов, в каждой по 8 полей ввода),
табы однотипны, хотелось просто прописать все один раз, а потом сделать счетчик-переменную, которая прогонит цикл 5 раз для 5 разных групп данных, с тем чтобы затем уже их вывести. суть в чем - есть человек, который ходит по 5 комнатам и собирает тапочки, (в квартире 5 комнат, в каждой по 8 тапочек), тапочки одинаковые, все на левую ногу, хотелось просто прописать все один раз на бумажке, а потом сделать роликовые коньки с моторчиком, чтобы человек 5 раз по 5 разным комнатам ездил и собирал тапочки. Внимание вопрос! Если в квартире 5 комнат, в которых есть тапочки, то почему афтар пытается искать тапочки в коридоре? ![]() |
Номер ответа: 6 Автор ответа: ![]() ![]() ICQ: 61452976 Вопросов: 2 Ответов: 12 |
Web-сайт: Профиль | Цитата | #6 | Добавлено: 25.11.07 16:41 |
То есть в пиратке работает не всё? интересно как ![]() Конечно, в Вашем тексте виден богатый опыт программирования и жизненный и т.д., однако не так все просто, как Вы описали. Еще в gwbasic можно было складывать имя переменной из других переменных, это можно в php - почему это нельзя в vb????? |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() black admin ICQ: 261779681 Вопросов: 87 Ответов: 633 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 25.11.07 17:20 |
То есть в пиратке работает не всё? интересно как
![]() да нет, просто к тому времени как ты приобретешь лицензионную версию VS, ты скорей всего уже будешь понимать как "она" работает ![]() Еще в gwbasic можно было складывать имя переменной из других переменных, это можно в php - почему это нельзя в vb?????
Причем тут складывание имен переменных ![]() ![]() Если ты сейчас говоришь о символических ссылках в php, то почему девочки не могут писать стоя? ![]() |
Номер ответа: 8 Автор ответа: ![]() ![]() ICQ: 61452976 Вопросов: 2 Ответов: 12 |
Web-сайт: Профиль | Цитата | #8 | Добавлено: 25.11.07 19:17 |
Я не в курсе, как это называется. Я знаю, как это работает.
В пхп та же самая программа у меня работает с массивом данных winX, индексы которого - буквенные и могут быть заменены переменным, а вместо X подставляется другая переменная ${'win'.$counter}['glass_corrector'] . Это просто и удобно. не нужно по 2 раза переписывать имена значений создавая класс и потом присваивая их экземпляру, не нужно создавать никаких списков - просто и быстро. Я уверен, что в Vb это тоже можно просто и быстро - понять бы, как?
|
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() black admin ICQ: 261779681 Вопросов: 87 Ответов: 633 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 26.11.07 04:36 |
В php это называется ассоциативный массив, в .NET такого понятия нет, но есть коллекции:
Пространство имен System.Collections содержит интерфейсы и классы, которые определяют различные коллекции объектов, такие как списки, очереди, двоичные массивы, хеш-таблицы и словари.
$a = new Array("Вася"=>"Маша", "Петя"=>"Саша"
![]() // или $a["Федя"] = "Наташа"; альтернатива в .NET: Dim a As New Dictionary(Of String, String)
a.Add("Вася", "Маша" ![]() a.Add("Петя", "Саша" ![]() a.Add("Федя", "Наташа" ![]() php: for ($i = 1; $i <= 5; $i++)
{ @a["Комната".$i] = "Тапочек"; } vb .net: Dim a As New Dictionary(Of String, String)
For i As Integer = 1 To 5 a.Add("Комната" & i, "Тапочек" ![]() Next i php: $b = new Array("Комната1"=>"2 тапочка", "Комната2"=>"0 тапочек", "Комната3"=>"хрен вам, а не тапочки"
![]() $a = new Array("Дом"=>$b) vb .net: Dim b As New Dictionary(Of String, String)
b.Add("Комната1", "2 тапочка" ![]() b.Add("Комната2", "0 тапочек" ![]() b.Add("Комната3", "хрен вам, а не тапочки" ![]() Dim a As New Dictionary(Of String, Dictionary(Of String, String)) a.Add("Дом", b) php: class bb
{ public $KakoitoText; } class cc { public $EschoText; public $AEtoData = date("Y-m-d H-i-s" ![]() } $b = new bb(); $c = new cc(); $b->KakoitoText = "Привет!"; $c->EschoText = "Хочешь сало?"; $a = new Array($b => $c); vb .net: Public Class bb
Public KakoitoText As String End Class Public Class cc Public EschoText As String Public AEtoData As Date = Now End Class Dim b As New bb() b.KakoitoText = "Привет!" Dim c As New cc() c.EschoText = "Хочешь сало?" Dim a As New Dictionary(Of bb, cc) a.Add(b, c) Если и сейчас не понятно, то я пасс. -- Кодообменник Kbyte.Ru - ваша библиотека кодов! http://kbyte.ru/code |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ICQ: 96702618 Вопросов: 1 Ответов: 6 |
Web-сайт: Профиль | Цитата | #10 | Добавлено: 27.11.07 12:09 |
a=a+1
next Тут точно косяк! ты увеличиваешь счетчик на единицу 2 раза цикл For-Next сам увеличивает счетчик... а ты инструкцией: а=а+1 дополнительно увеличиваешь |
Страница: 1 |
|