Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 28.12.2012
Сообщений: 14

Обработка нажатия нескольких кнопок, созданных в цикле

24.06.2017, 16:45. Показов 2007. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть форма с вкладками, в первой вкладке находится DataGridView, (номер, компонент, массовая доля, расход), при нажатии на кнопку (Button-2) происходит создание новой вкладки с названием выделенного компонента. На новой вкладке еще одна такая же таблица и кнопки.
Таблицы и кнопки создаются в цикле, как написать обработки нажатий на эти кнопки, если на форме их еще нет?
Помогите, пожалуйста. Может я вообще не в ту степь думаю?

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 'кнопка для создания новой вкладки для расчета составления пигментных паст и концентратов
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
 
        '' Вкладке присваивается имя выделенного компонента (выделенной ячейки)
        Dim myTabPage As New TabPage()
        myTabPage.Text = DataGridView1.CurrentRow.Cells(1).Value.ToString()
        TabControl1.TabPages.Add(myTabPage)
        '' Создание для каждой вкладки новой таблицы даннных
        For i = 4 To (TabControl1.TabPages.Count)
            Dim idt As String = Convert.ToString(i)
 
            Dim myDT As New DataTable
            myDT.TableName = "dt" & idt
 
            Dim newDGV As New DataGridView
            newDGV.Name = "DVG" & idt
 
            Dim myDS As New DataSet("ds" & idt)
 
            Dim myButtonR As New Button
            myButtonR.Name = "ButtonR" & idt '' создание кнопки "расчет"
            myButtonR.Text = "Расчет"
            myButtonR.Left = 600 'расположение кнопки
 
 
            Dim myButtonK As New Button
            myButtonK.Name = "ButtonK" & idt
            myButtonK.Text = "Составление компонента"
            myButtonK.Left = 500 'расположение кнопки
            
 
 
            'добавление на каждую вкладку элементов управления
            myTabPage.Controls.Add(newDGV) 'New DataGridView)
            myTabPage.Controls.Add(myButtonR)
            myTabPage.Controls.Add(myButtonK)
            newDGV.Height = 350 'высота таблицы
            newDGV.Width = 445 ' ширина таблицы
            newDGV.DataSource = myDT
 
            myDT.Columns.Add("№")
            myDT.Columns.Add("Компоненты")
            myDT.Columns.Add("Массовые доли, %")
            myDT.Columns.Add("Расход, кг")
            myDS.Tables.Add(myDT)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.06.2017, 16:45
Ответы с готовыми решениями:

Обработка нажатия нескольких кнопок - оператор CASE
Подскажите как заставить работать данную процедуру. У меня при нажатии на кнопки никакой реакции... Надо ли что-нибудь изменять в...

Обработка нажатия одной из нескольких одинаковых кнопок
Добрый день. Ребята, подскажите, пожалуйста, каким образом можно реализовать данную ситуацию в javaFx. Есть проект на javaFX. Есть...

Программное создание кнопок и обработка событий для каждой из созданных
Здравствуйте! Понадобилось создать несколько кнопок в зависимости от количества строк в результате запроса к БД. Но как затем обработать...

11
39 / 38 / 6
Регистрация: 17.07.2015
Сообщений: 380
Записей в блоге: 1
24.06.2017, 17:14
Безбашенное, при объявлении добавьте withevents

Добавлено через 1 минуту
Ну и создайте sub btnclicks() Handles myButtonK.Click, myButtonR.
P.S. сейчас с телефа, поэтому при написании мог нажать что-нибудь лишнее

Добавлено через 53 секунды
А ещё лучше скиньте проект, потому-что я немного вас недопонял
0
1 / 1 / 0
Регистрация: 28.12.2012
Сообщений: 14
25.06.2017, 12:59  [ТС]
Вот проект
1
39 / 38 / 6
Регистрация: 17.07.2015
Сообщений: 380
Записей в блоге: 1
25.06.2017, 13:00
Безбашенное, а собственно, где?
0
1 / 1 / 0
Регистрация: 28.12.2012
Сообщений: 14
25.06.2017, 13:01  [ТС]
Где вложение, блин)

Добавлено через 30 секунд
щас, я не очень тут разобралась)
0
39 / 38 / 6
Регистрация: 17.07.2015
Сообщений: 380
Записей в блоге: 1
25.06.2017, 13:02
Безбашенное, буду ждать
0
1 / 1 / 0
Регистрация: 28.12.2012
Сообщений: 14
25.06.2017, 13:03  [ТС]
WindowsApp1.rar
0
39 / 38 / 6
Регистрация: 17.07.2015
Сообщений: 380
Записей в блоге: 1
25.06.2017, 13:05
Безбашенное, отпишусь когда будет доступ к ПК с студио, но когда это произойдёт - не знаю
0
1 / 1 / 0
Регистрация: 28.12.2012
Сообщений: 14
25.06.2017, 14:17  [ТС]
попробовала задать кнопки и таблицы через WithEvents, теперь они появляются только на последней созданной вкладке, а остальные остаются пустыми((
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
    WithEvents myButtonR As New Button
    WithEvents myButtonK As New Button
    WithEvents newDGV As New DataGridView
 
    'кнопка для создания новой вкладки для расчета составления пигментных паст и концентратов
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
 
        '' Вкладке присваивается имя выделенного компонента (выделенной ячейки)
        Dim myTabPage As New TabPage()
        myTabPage.Text = DataGridView1.CurrentRow.Cells(1).Value.ToString()
        TabControl1.TabPages.Add(myTabPage)
        '' Создание для каждой вкладки новой таблицы данных
        For i = 4 To (TabControl1.TabPages.Count)
            Dim idt As String = Convert.ToString(i)
 
            Dim myDT As New DataTable
            myDT.TableName = "dt" & idt
 
            ' Dim newDGV As New DataGridView
            newDGV.Name = "DVG" & idt
 
            Dim myDS As New DataSet("ds" & idt)
 
            ' WithEvents myButtonR As New Button
            myButtonR.Name = "ButtonR" & idt '' создание кнопки "расчет"
            myButtonR.Text = "Расчет"
            myButtonR.Left = 600 'расположение кнопки
 
 
            ' Dim myButtonK As New Button
            myButtonK.Name = "ButtonK" & idt
            myButtonK.Text = "Составление компонента"
            myButtonK.Left = 500 'расположение кнопки
            
 
 
            'добавление на каждую вкладку элементов управления
            myTabPage.Controls.Add(newDGV) 'New DataGridView)
            myTabPage.Controls.Add(myButtonR)
            myTabPage.Controls.Add(myButtonK)
            newDGV.Height = 350 'высота таблицы
            newDGV.Width = 445 ' ширина таблицы
            newDGV.DataSource = myDT
 
            myDT.Columns.Add("№")
            myDT.Columns.Add("Компоненты")
            myDT.Columns.Add("Массовые доли, %")
            myDT.Columns.Add("Расход, кг")
            myDS.Tables.Add(myDT)
      
 
        Next
    End Sub
0
117 / 110 / 31
Регистрация: 05.04.2014
Сообщений: 224
25.06.2017, 17:01
После
VB.NET
1
Dim myButtonK As New Button
попробуй добавить
VB.NET
1
AddHandler myButtonK.Click, AddressOf myButtonK_Click
myButtonK_Click - процедура, которая должна выполняться при клике.
3
1 / 1 / 0
Регистрация: 28.12.2012
Сообщений: 14
26.06.2017, 20:16  [ТС]
Получилось!
Спасибо)
А не подскажете еще, как теперь в процедуре при клике прописать действия над таким же DataGridView (который тоже вместе с кнопками создавался в цикле для каждой вкладки свой)?
Что бы при нажатии на кнопку на активной вкладке выполнялись действия с таблицей, которая так же находится на активной вкладке. (Действия для всех вкладок будут одинаковые).
0
117 / 110 / 31
Регистрация: 05.04.2014
Сообщений: 224
26.06.2017, 20:59
Примерно так:
VB.NET
1
2
        Dim dgv As DataGridView = Me.TabControl1.Controls(sender.parent.name).controls("DGV" & Mid(sender.name, 8, sender.name.Length - 7)) 
        dgv.Item(0, 0).Value = sender.parent.text
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.06.2017, 20:59
Помогаю со студенческими работами здесь

Обработка нажатий кнопок созданных программно в заданном месте разметки
Здравствуйте, собственно проблема: как сделать кнопки в андроид(не простые через button@id а золотые), кнопки округлой формы, желательно с...

Обработка нажатия одной кнопки из множества других, созданных в Qt Designer
Добрый день. В Qt Designer создана форма, на ней много кнопок (до 10), они названы button1, button2, button3 ... button10. Мне нужно...

Обрабатывание нажатия нескольких кнопок
Всем хаюшки. В общем, нужно сделать так, что бы действие сработало при нажатии нескольких кнопок(Если точно, то 2). Пробовал так: ...

Обработка нажатия кнопок.
Здравствуйте! Подскажите где, как подправить чтобы правильно все заработало? Нажимаем на BUT1 загорается на установленное время и гаснет...

Обработка нажатия кнопок
Всем привет! Целый день мучала проблема. Что имею: телефон по bluetooth подключается к arduino и передает туда байты, в дуине это...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Чистый C и C++ в Qt Creator: ставим среду без VPN и настраиваем MinGW/CMake, без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru