Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - Динамически создание обьекты

Ответить
Настройки темы
.NET - Динамически создание обьекты

Новый участник


Сообщения: 38
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Помогите пожалуйста. Как в VB 2005 Net динамически создать кнопки и обработать нажатие на них??? Заранее спасибо

Отправлено: 15:52, 02-01-2010

 

Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Smile, в простейшем случаи код обработчика уже должен быть написан. А создание за малым.
Код: Выделить весь код
Dim DynamicButton As New Button
With DynamicButton
     .Parent = Me
     .Location = New Point(10, 10)
     .Size = New Size(150, 40)
     .Text = "Динамически созданная кнопка"
End With
AddHandler DynamicButton.Click, AddressOf DynamicButton_Click 'Или другое имя обработчика

'... 

Private Sub DynamicButton_Click(ByVal Obj As Object, ByVal eventArgs As EventArgs)
'... обрабатываем
End sub
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:56, 04-01-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 38
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


А вот как сделать обработчик если у нас массив этих кнопок???
Код: Выделить весь код
 
Dim i As Integer 
Dim DynamicButton(3) As Button
For i = 1 To 3 
 DynamicButton(i) = New Button
 With DynamicButton(i) 
    .Parent = Me    
    .Location = New Point(10 * i, 10 * i)  
    .Size = New Size(40, 40) 
    .Text = ""   
End With          
Next

Отправлено: 12:32, 16-01-2010 | #3


Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


Smile, например можно повесить все кнопки на один обработчик, а там проверять, что за кнопка нажата.
Код: Выделить весь код
For i = 1 To 3
'...
    AddHandler DynamicButton(i).Click, AddressOf DynamicButton_Click
Next
'...
Private Sub DynamicButton_Click(ByVal Obj As Object, ByVal eventArgs As EventArgs)
    Dim CurButton As Button = Obj
    ' В идеале должны получить имя кнопки здесь
    ' Dim ButtonName As String = CurButton.Name
    ' Но увы там пусто, так что немного по другому, 
    ' определяем нажатую кнопку
    Select Case (CurButton.Location.X / 10)
        Case 1
            MsgBox("Привет, кнопка № 1", MsgBoxStyle.Information, "Нажата кнопка")
        Case 2
            MsgBox("Привет, кнопка № 2", MsgBoxStyle.Information, "Нажата кнопка")
        Case 3
            MsgBox("Привет, кнопка № 3", MsgBoxStyle.Information, "Нажата кнопка")
        Case Else
            MsgBox("Привет, неизвестная кнопка", MsgBoxStyle.Information, "Нажата кнопка")
    End Select
End Sub
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:39, 16-01-2010 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » .NET - Динамически создание обьекты

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Динамически подключаемый том cavaliera Microsoft Windows 2000/XP 7 07-07-2009 15:54
Разное - Как к названию файла динамически дописать дату? KillHunter Microsoft Windows 2000/XP 0 23-05-2008 15:23
Как к названию файла динамически дописать дату? av_spb Microsoft Windows NT/2000/2003 4 09-11-2005 12:11
Создание сокета в C Программирование и базы данных 6 30-10-2003 17:23
Как узнать какие библиотеки динамически линкуются Mihael Общий по Linux 10 30-01-2003 04:12




 
Переход