Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > помогите с циклом


Автор: gangsterovich 9.11.2017, 16:00
добрый день.  у меня множество текстбоксов.в коде я блоки кода что написал ниже копипастю и меняю вместо 1 двойку,тройку и тд ( TextBoxZap2.BackColor ,extBoxPutZap2.Text  ,  TextBoxZap3.BackColor,extBoxPutZap3.Text).  как тексбоксы в цикле перебирать? спасибо

Код

 If Not IO.File.Exists(TextBoxPutVosmoy.Text + Parameters.UserProverka1 + ".txt") Then
                TextBoxZap1.BackColor = Color.Red
                Process.Start(TextBoxPutZap1.Text)
                System.Threading.Thread.Sleep(60000)
            Else
                TextBoxZap1.BackColor = Color.Olive
            End If

Автор: Akina 9.11.2017, 19:22
Код

for i = 1 to 10
    controls("TextBoxZap" & cstr(i)).BackColor = Color.Red
next

Автор: gangsterovich 9.11.2017, 19:38
както вот неработает
 
Код

  Controls("TextBoxZap" & CStr(1)).BackColor = Color.Red

воттак пробую один текстбокс подсветить.ошибку выдает. думал из под кнопки неработает.поставил назагрузку формы-тоже ошибка

Автор: gangsterovich 11.11.2017, 11:52
получается если 
Код

Controls("TextBox" & CStr(17)).BackColor = Color.Red 
 текстбокс не переименовывать то все работает.а  с переименованием нефига не работает.спасибо

Автор: Akina 11.11.2017, 13:02
Цитата(gangsterovich @  9.11.2017,  20:38 Найти цитируемый пост)
воттак пробую один текстбокс подсветить.ошибку выдает.

Во-первых, текст ошибки принято цитировать.
Во-вторых, следует указать, какая из многочисленных Controls используется - указанием конкретного экземпляра формы. А не обращаться к абстрактной коллекции.
Цитата(gangsterovich @  11.11.2017,  12:52 Найти цитируемый пост)
с переименованием нефига не работает

ЯННП. Зачем переименовывать контрол? Ну и сразу - а почему не создан массив контролов, если они однотипны?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)