Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Как перебрать все Controls на одном Frame Добавлено: 23.07.02 00:35  

Автор вопроса:  Tovdi | ICQ: 160516960 

Нужна функция которая проверяет заполненость данными некоторых контролов на одном Frame,

Я вот тут накидал, что то но сие проходит по фсем контролам формы, а мне какраз этого и не нужно

Function ConrolIsEmpty(obgForm As Form)

ConrolIsEmpty = True

For Each f In Forms

For Each c In f.Controls

If c.Tag = strTag Then

If c.Text <> Empty Then ConrolIsEmpty = False

End If

Next

Next

End Function

Конечно можно контролу который надо включить в перебор Tag присвоить некоторый текст а потом проверять чтото вроде If c.Tag = strTag Then ..... но это ведь не красиво

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 23.07.02 07:43

Я делал так:

For each c in me.controls

   If c.Container Is Me.MyFrame Then

       c.Tag="ЛяЛяЛя"

   End If

Next

Ответить

Номер ответа: 2
Автор ответа:
 POST



Вопросов: 14
Ответов: 269
 Web-сайт: www.vbnet.ru
 Профиль | | #2
Добавлено: 23.07.02 09:42

Извини, Tovdi. Не хочу создавать отдельный топик. Мой вопрос очень похожь на твой:). А вопрос таков:

Как определить какого типа является контрол?

Например на форме набросаны кнопки и лейблы, вот как перебрать в цикле все кнопки или лейблы? Я выдумал кустарный способ, но не думаю, что он быстр, а самое главное надежен.:)

Вообщем я все контролы именую по стандарту, то есть текстовое поле начинается обязательно с txt, лейбл с lbl и так далее. Теперь я просто перебираю ВСЕ контролы и смотрю первые три знака. Если, например frm, значит форма, lbl - лейбл. Есть ли какой-нибудь более профессиональный способ? Или я велосипед изоретаю и все енто уже реализовано давно и не мной? Подскажите, а то код уже разросся до нехристианской величины.

Ответить

Номер ответа: 3
Автор ответа:
 Tovdi



ICQ: 160516960 

Вопросов: 13
Ответов: 37
 Профиль | | #3 Добавлено: 23.07.02 10:40

На счет типа елемента (контрола)

For each c in me.controls

   If c.Container Is Me.MyFrame Then
 If TypeOf c.Name Is TextBox Then    MsgBox "Textbox"
   End If

Next

Ответить

Номер ответа: 4
Автор ответа:
 POST



Вопросов: 14
Ответов: 269
 Web-сайт: www.vbnet.ru
 Профиль | | #4
Добавлено: 23.07.02 10:50

TypeOf - твою #ать! :^))

Я про него совсем забыл! Спасибо!

Вот ведь как бывает.... простейшие функции забываешь.... Стареем.... Ещё раз спасибо!

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам