Форум программистов, компьютерный форум, киберфорум
Наши страницы

Visual Basic

Войти
Регистрация
Восстановить пароль
 
SuPeR XaKer
2843 / 1972 / 377
Регистрация: 23.09.2010
Сообщений: 4,877
#1

Массивы элементов. Найти количество элементов управления во frame - VB

17.01.2012, 18:53. Просмотров 969. Ответов 9
Метки нет (Все метки)

Добрый вечер. Подскажите пожалуйста как перебрать элементы управления в определённом фрейме или просто найти кол-во например текстовых полей. На форме массив фреймов. Во фреймах так же массив элементов управления.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.01.2012, 18:53
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Массивы элементов. Найти количество элементов управления во frame (VB):

Одномерные массивы: найти сумму всех элементов, кратных пяти, и их количество - Visual Basic
Дан одномерный массив A(N). Найти сумму всех элементов кратных пяти и их количество. Получившийся массив A(N) вывести в MSFlexGrid

Как создать елемент управления в Frame - Visual Basic
Как создать елемент управления например Label так чтоби она находилас в Frame. Собственно с созданиием проблем нету а вот как поместить его...

Массивы: Найти столбец, сумма элементов которого минимальна. Вывести сумму и номер столбца. - Visual Basic
Всем привет! помогите решить задачку плиз Ввести массив A(N, N). Найти столбец, сумма элементов которого минимальна. Вывести сумму и...

Найдите количество элементов матрицы, больших среднего арифметического всех её элементов - Visual Basic
Дана матрица A(N, M). Найдите количество элементов этой матрицы, больших среднего арифметического всех её элементов. код паскаля ...

Найти количество нулевых элементов массива - Visual Basic
Найти количество нулевых елементов...Помогите исправить код. Option Explicit Private Sub Command1_Click() Const n = 5 ReDim a(1...

Найти количество четных элементов последовательности - Visual Basic
Дана последовательность из n целых чисел. Найти количество четных элементов этой последовательности

9
Апострофф
Заблокирован
17.01.2012, 20:05 #2
Примерно так можно перебрать все контролы и указать их Parent`ов
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub Form_Click()
Dim c As Control
On Error Resume Next
For Each c In Controls
  Debug.Print c.Name & "(" & c.Index & "): Хозяин - " & c.Container.Name & "(" & c.Container.Index & ")"
  If Err Then
    Err.Clear: Debug.Print c.Name & "(" & c.Index & "): Хозяин - " & c.Container.Name
    If Err Then
      Err.Clear: Debug.Print c.Name & " : Хозяин - " & c.Container.Name & "(" & c.Container.Index & ")"
      If Err Then
        Err.Clear: Debug.Print c.Name & " : Хозяин - " & c.Container.Name
      End If
    End If
  End If
Next c
End Sub
Коряво, конечно, извиняйте
1
SuPeR XaKer
2843 / 1972 / 377
Регистрация: 23.09.2010
Сообщений: 4,877
17.01.2012, 20:09  [ТС] #3
Апострофф, а если дополнительное текстовое поле создать куда записывать кол-во контролов во фрейме.Думаю это полегче будет?

Не по теме:

ато я чёто думал что можно одной строкой, видно я сильно обломался....

0
Linoge
Эксперт Hardware
2226 / 1548 / 257
Регистрация: 25.10.2011
Сообщений: 4,716
17.01.2012, 20:14 #4
Перебор по всем элементам формы - более умного не приходит
Visual Basic
1
2
3
4
5
6
7
8
Private Sub Form_Load()
For Each object In Form1.Controls
    If InStr(1, object, "Text") <> 0 Then
        If object.Container.Name = "Frame1" Then _
        MsgBox object & " ГІГіГІ -> Frame1(" & object.Container.Index & ")"
    End If
Next
End Sub
Добавлено через 4 минуты
SuPeR XaKer,
а для чего такая задачка - количество тестовых полей формируется при загрузке формы?
так все равно можно заранее при формировании посчитать
1
SuPeR XaKer
2843 / 1972 / 377
Регистрация: 23.09.2010
Сообщений: 4,877
17.01.2012, 20:15  [ТС] #5
vstz, да в том то и дело что я динамически их создаю. в зависимости от выбора кол-ва в комбобоксе (от 1 до 7 элементов) создаётся в каждом фрейме.
Вот думаю можно при выборе в массив кол-во ещё записывать.
0
Linoge
Эксперт Hardware
2226 / 1548 / 257
Регистрация: 25.10.2011
Сообщений: 4,716
17.01.2012, 20:18 #6
Так введи массив.
Индекс - индекс фрейма, значение - количество текстовых полей.
И заполняй при создании объектов, а когда нужно будешь по нему смотреть какие элементы есть в каком фрейме.
1
Апострофф
Заблокирован
17.01.2012, 20:19 #7
Цитата Сообщение от SuPeR XaKer Посмотреть сообщение
я динамически их создаю.
А в чём тогда проблема-создаёте и считаете одновременно?
Да и без массива можно обойтись - записывать в Frame1(i).Tag.
1
SuPeR XaKer
2843 / 1972 / 377
Регистрация: 23.09.2010
Сообщений: 4,877
17.01.2012, 20:23  [ТС] #8
Апострофф, vstz, т.е. в массив записывать будет оптимальнее.я правильно понял?
0
Linoge
Эксперт Hardware
2226 / 1548 / 257
Регистрация: 25.10.2011
Сообщений: 4,716
17.01.2012, 20:25 #9
По крайней мере проще чем перебирать контролы и искать их предков.
1
SuPeR XaKer
2843 / 1972 / 377
Регистрация: 23.09.2010
Сообщений: 4,877
17.01.2012, 20:30  [ТС] #10
Апострофф, vstz, благодарю за советы.
0
17.01.2012, 20:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2012, 20:30
Привет! Вот еще темы с ответами:

Определить количество удвоенных нечетных элементов среди элементов, предшествующих первому отрицательному - Visual Basic
2. Даны натуральное число N и целые числа A1,А2,…АN. Определить количество удвоенных нечетных элементов среди элементов, предшествующих ...

Как подсчитать количество элементов ai, которые не меньше всех предыдущих элементов массива - Visual Basic
Дан числовой массив a(n). Подсчитать количество элементов ai, которые не меньше всех предыдущих элементов массива.

Определить: наибольшее количество элементов в возрастающей серии элементов. - Visual Basic
Дана числовая последовательность целых чисел, содержащая N элементов. Определить: наибольшее количество элементов в возрастающей серии...

Найти количество соседств трех положительных элементов - Visual Basic
в массиве Z = {1; 5; -3; 4; 8; 7; 2; -1; 0; -2; 4; 3; 2; 7; -3} найти количество соседств трех положительных элементов Помогите...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru