Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
 Аватар для Евгений12
60 / 58 / 10
Регистрация: 16.02.2013
Сообщений: 146

Проверить свойство MaskCompleted в нескольких MaskedTextBox в цикле

27.04.2014, 13:15. Показов 1828. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
На форме есть 9 MaskedTextBox'ов. Для каждого из них нужно проверять свойство MaskCompleted. Можно сделать так:
VB.NET
1
2
3
If MaskedTextBox1.MaskCompleted = False Then
'''
If MaskedTextBox9.MaskCompleted = False Then
Но ведь есть цикл! Я делал сначала так:
VB.NET
1
2
For i = 0 To 8
If Me.Controls("MaskedTextBox" & i + 1).MaskCompleted = False Then
Потом так:
VB.NET
1
2
3
4
5
6
7
For Each C As Control In Me.Controls
If TypeOf C Is MaskedTextBox Then
If C.MaskCompleted = False Then
MsgBox("error")
End If
End If
Next
В обоих случаях ошибка: "MaskCompleted is not a member of System.Windows.Forms.Control"
Покопался в документации, пришел к такому:
VB.NET
1
2
3
For Each C As MaskedTextBox In Me.Controls
If C.MaskCompleted = False Then MsgBox("error")
Next
В таком случае он проходит по каждому контролу на форме.
Так вот! Как можно обратиться к свойству MaskCompleted каждого из 9 MTB'ов в цикле.
P.S. GroupBox и других контейнеров не использую.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.04.2014, 13:15
Ответы с готовыми решениями:

Изменить в цикле свойство нескольких Label
Вопрос для гуру: Имеем: Label1.ForeColor = Color.Green Label2.ForeColor = Color.Green ..... ...... ..... ...

Как грамотно проверить свойство ItemIndex у нескольких RadioGroup?
Здравствуйте. На форме есть 10 RadoiGroup. При клике на кнопку нужно проверить во всех ли RadoiGroup выбраны кнопки. Я написал такую вот...

Арифметические операции со временем из нескольких MaskedTextBox
Есть три maskedTextBox с форматом времени __:__ Необходимо maskedTextBox3 = 24 - maskedTextBox2+maskedTextBox; Кто подскажет как...

6
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
27.04.2014, 13:23
Евгений12, есть вариант приведения к типу, надо - расскажу.

Попробуйте так.
Глобально объявите
VB.NET
1
Dim MTB As New List(Of MaskedTextBox)
В загрузке формы
VB.NET
1
2
3
4
5
        For Each C As Control In Me.Controls
            If TypeOf C Is MaskedTextBox Then
                MTB.Add(C)
            End If
        Next
А уже где надо, там и проверяйте
VB.NET
1
2
3
4
5
6
        'Somewhere
        For Each _mtb As MaskedTextBox In MTB
            If _mtb.MaskCompleted Then
                '
            End If
        Next
1
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
27.04.2014, 13:25
Лучший ответ Сообщение было отмечено Евгений12 как решение

Решение

Нужно получаемый контрол привести к нужному типу
VB.NET
1
If DirectCast(Me.Controls("MaskedTextBox" & i + 1), MaskedTextBox).MaskCompleted = False Then
0
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
27.04.2014, 13:25
ИЛи так
VB.NET
1
2
3
4
5
6
7
        For Each C As Control In Me.Controls
            If TypeOf C Is MaskedTextBox Then
                If CType(C, MaskedTextBox).MaskCompleted Then
                    '
                End If
            End If
        Next
1
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
27.04.2014, 13:29
Памирыч, поскольку ТС в цикле обращается к коллекции по имени элемента, то можно не перебирать все, а сразу преобразовывать в нужный тип
1
Почетный модератор
 Аватар для Памирыч
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
27.04.2014, 13:42
Больше решений, хороших и разных (с)
1
38 / 38 / 16
Регистрация: 14.03.2012
Сообщений: 168
27.04.2014, 13:42
Почему бы не присвоить к каждому MaskedTextBox'у Tag? Потом через цикл For Each проверять каждый контрол на форме. А там уже и имя проверить и свойства и тд.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.04.2014, 13:42
Помогаю со студенческими работами здесь

Проверить MaskedTextBox на заполнение
Подскажите как проверить полностью ли в текстбоксе заполнена маска, наверняка есть какой нибудь метод или свойство ?

Как проверить введена ли дата в maskedTextBox?
использую компонент maskedTextBox для ввода даты. как проверить,введена ли в него дата? (если даты не введена,то должно выдаваться...

Назначить свойство картинки в цикле
Есть 20 Image, как в цикле применить свойство Image.Visible := False, (к примеру) картинкам 10 - 15, а остальные чтоб остались не...

Установить в цикле свойство элемента управления
Доброго времени суток! На главной форме есть N элементов pictureBox. Как (и возможно ли) установить для N элементов свойство BackColor...

Изменить свойство у нескольких контроллов
Например: private void button4_Click(object sender, EventArgs e) { button14.Visible = true; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru