Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Динамическое добавление контрола... Добавлено: 28.08.04 11:48  

Автор вопроса:  danser | ICQ: 299287824 
Как програмно создать и добавить n-ЧекБоксов(CheckBox) на панель(форму) в цикле? (Количество елементов стаёт ясным в процесе работы приложения)
                Пробывал так, создается один обэкт...
For i = 0 To 20
            Dim Control As New CheckBox()
            Control.Name = "RB" & i.ToString
            Control.Text = "My number " & i.ToString
            'Устанавливаем позицию и тд...
            Me.PanelVar.Controls.Add(Control)
        Next

Ответить

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

Номер ответа: 1
Автор ответа:
 Mihalыch



ICQ: 373-509-101 

Вопросов: 56
Ответов: 330
 Профиль | | #1 Добавлено: 28.08.04 17:08
Добавь один CheckBox, установи свойство Index = 0, потом в цикле Load CheckBox(i)

Ответить

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



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #2 Добавлено: 28.08.04 19:03
Попробуй так:

Dim Ctrl As CheckBox

For i = 0 To 20
Ctrl = New CheckBox()
Ctrl.Name = "RB" & i.ToString
Ctrl.Text = "My number " & i.ToString
Me.PanelVar.Controls.Add(Ctrl)
Next

Если не пойдет, то покажи, как ты ставишь размеры и позицию элементов.
Очень возможно, что они просто один над другим ставятся и ты всех их
не видишь.

Ответить

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



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #3
Добавлено: 28.08.04 19:18
 Точно уже не помню, но по моемому он создаёт их невидимыми. Попробуй Visible=True.
 Или можешь скачать пример с моего сайта. Там правда для меток, но это не суть важно.

Ответить

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



ICQ: 299287824 

Вопросов: 76
Ответов: 209
 Профиль | | #4 Добавлено: 28.08.04 21:57
Пробывал, всё не то:

Control.Visible = True
Control.Top = 100 * i

Всё не то... раз обявив переменную и всё тут. Каждый раз она заново инициализируется :(
Что делать?
Может нужно использовать рекурсию?

На щёт примера с метками на твоем сайте, кинь ссылку, плз.

Ответить

Номер ответа: 5
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #5 Добавлено: 28.08.04 22:38
Поиском по сайту быстрее найдёшь, эта тема обсуждалась 572 раза.

Ответить

Номер ответа: 6
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #6
Добавлено: 28.08.04 22:43
http://basicproduction.nm.ru/LblCstm.zip

Ответить

Номер ответа: 7
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #7
Добавлено: 28.08.04 22:44
А, .NET, я не знаю как тебе делать.

Ответить

Номер ответа: 8
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #8 Добавлено: 29.08.04 02:11
Давай сюда полный код, не может быть, чтоб не работало - я в своей
программе писал, все работало элементарно...

Ответить

Номер ответа: 9
Автор ответа:
 freeloader



ICQ: 50804884 

Вопросов: 72
Ответов: 642
 Web-сайт: freeloader.folder-pro.net
 Профиль | | #9
Добавлено: 29.08.04 04:36
Вот полностью рабочий код:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.WindowState = FormWindowState.Maximized
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ;Dim Ctrl As TextBox
        ;Dim i As Integer
        ;Dim point As System.Drawing.Point
        ;Dim schet As Integer
        For i = 0 To 15
            schet += 15
            Ctrl = New TextBox
            Ctrl.Visible = True
            Ctrl.Name = "TB" + i.ToString
            Ctrl.Text = "TextBox"
            Ctrl.Width = 50
            Ctrl.Height = 50
            point.X = 25
            point.Y = schet
            Ctrl.Location = point
            Me.Controls.Add(Ctrl)
        Next
    End Sub

Ответить

Номер ответа: 10
Автор ответа:
 danser



ICQ: 299287824 

Вопросов: 76
Ответов: 209
 Профиль | | #10 Добавлено: 29.08.04 12:03
Да-а-а лоханулся...
Проблема была в моей несообразительности.
Просто один Контрол я хотел настроить в дизайнере(что б и наглядно и проще)...
В цикле я новому контролу присваивал созданий заранее, думал дурак, перекинутся только свойства. А оно не только свойства...
Спасибо за пример и извините за неострожность в следующий раз буду повнимательней.

И еще раз уж я здесь:
Как програмно изменить текст ToolTip/
То есть добавил я его и в свойствах елемента добаляеться свойство ToolTip on ToolTip1/ Как это свойство изменить?

Из КВН:
-S1 Вы поменяете пачку Stimorol на две пачки обычной жвачки?
-S2 Не-а
-S3 А на три?
-S2 Не-а
-S1 А на ящик?
-S2 Низачто!
-S1 Ну как знаешь...
.............................................
-S2 Да-а-а лоханулся...

Ответить

Страница: 1 |

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



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