Страница: 1 |
Страница: 1 |
Вопрос: Одинаковые ИМЕНА????
Добавлено: 25.04.08 00:10
Автор вопроса: __Pavel__ | Web-сайт:
Доброго времени суток!
Что-то я запутался... объясните мне, почему можно программно добавлять в TabControl контроллы (на разные вкладки) и вкладки с одинаковыми именами, когда в конструкторе это запрещено???
И еще... есть ли у контролов свойство с индивидуальным значением? Как я вижу, ИМЯ таковым не является =)
Спасибо ...
Ответы
Всего ответов: 9
Номер ответа: 1
Автор ответа:
BG(Алексей)
Вопросов: 26
Ответов: 295
Профиль | | #1
Добавлено: 25.04.08 06:42
Номер ответа: 2
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #2
Добавлено: 25.04.08 12:21
я выводил Tag через MsgBox ... там пусто!
Номер ответа: 3
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #3
Добавлено: 25.04.08 14:15
Сначала присвой .Tag'у что нибудь, а потом выводи. Или о каком индивидуальном значении ты говоришь? Может, Handle?
Номер ответа: 4
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #4
Добавлено: 25.04.08 15:21
мне нужно свойство которое генерируется автоматически... такое ведь должно быть!
Вот пример кода, киньте на форму ТабКонтрол и 2 кнопки (куда угодно... они сами при загрузке выравняются), вот код:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
TabControl1.TabPages.Add(1, "Новая вкладка" & N)
For sss = 1 To 10
Dim lbl As New Label
lbl.Name = "lbl" & sss
lbl.Text = Rnd() * 1000
lbl.AutoSize = True
lbl.Location = New Point(8, 4 + 18 * (sss - 1))
TabControl1.TabPages(TabControl1.TabPages.Count - 1).Controls.Add(lbl)
Next
N += 1
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim txt As String
txt = "Данные на вкладке " & TabControl1.SelectedTab.Text & ":"
For sss = 1 To 10
txt &= vbCrLf & TabControl1.SelectedTab.Controls("lbl" & sss).Name & vbTab & TabControl1.SelectedTab.Controls("lbl" & sss).Text
Next
MsgBox(txt)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TabControl1.Width = 285
TabControl1.Height = 211
TabControl1.Location = New Point(12, 12)
TabControl1.TabPages.Clear()
Button1.Text = "Добавить вкладку"
Button1.Width = 139
Button1.Height = 27
Button1.Location = New Point(10, 227)
Button2.Text = "Посмотреть данные"
Button2.Width = 139
Button2.Height = 27
Button2.Location = New Point(157, 227)
AddHandler Button1.Click, AddressOf Button1_Click
AddHandler Button2.Click, AddressOf Button2_Click
End Sub
нажмите на кнопку 1 несколько раз, появятся вкладки с одинаковыми контролами, причем вкладки имеют тоже одинаковые имена! как это возможно? значит студия как-то их различает... значит есть индивидуальное свойство!
Номер ответа: 5
Автор ответа:
fluke
ICQ: 318170731
Вопросов: 15
Ответов: 96
Профиль | | #5
Добавлено: 25.04.08 16:27
TabPages - это коллекция, следовательно
TabPages(Index) - конкретный элемент этой коллекции, где Index и будет уникальное свойство
Номер ответа: 6
Автор ответа:
fluke
ICQ: 318170731
Вопросов: 15
Ответов: 96
Профиль | | #6
Добавлено: 25.04.08 16:30
TabPages(Index).Controls - это коллекция контролов, TabPages(Index).Controls(IndexControl) - IndexControl и есть уникальное свойство
Номер ответа: 7
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #7
Добавлено: 25.04.08 16:30
я знаю что у вкладок есть уникальные индексы... это понятно... а у других контролов (кнопок, полей, надписей и т.д.)???
Номер ответа: 8
Автор ответа:
fluke
ICQ: 318170731
Вопросов: 15
Ответов: 96
Профиль | | #8
Добавлено: 25.04.08 16:41
конкретная вкладка, у нее есть коллекция Controls, в которую происходит добавление контролов. следовательно у каждого элемента - есть свой уникальный индекс. Почему в режиме конструктора нельзя задать контролы с одинаковым именем, причин несколько, одна из них: конструктор формирует обработчик событий. а следовательно, что бы ты мог отрыть процедуру обработки этого события у контролов должны быть уникальные имена.
Номер ответа: 9
Автор ответа:
__Pavel__
Вопросов: 29
Ответов: 284
Web-сайт:
Профиль | | #9
Добавлено: 25.04.08 16:47
если чесно то я тоже, что-то типа этого подозревал...
Все, всем спасибо!