Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
anvarik_89
0 / 0 / 0
Регистрация: 20.06.2017
Сообщений: 44
1

Как программно создать TapPage с кнопкой внутри?

10.04.2018, 09:42. Просмотров 874. Ответов 7
Метки нет (Все метки)

Есть две формы и модуль.
vb.net
1
2
3
4
5
Module Module1
    Public Button As New Button
    Public TC As New TabControl
    Public TP As New TabPage
End Module
В первой форме по нажатию кнопки открывается вторая форма с ТекстБоксом и Кнопкой, в TextBox ввожу название TabPage затем при нажатии на кнопку в первой форме открывается TabControl c вкладкой и кнопкой внутри. при повторном открытии второй вкладки таким же образом вкладка открывается но кнопки в обеих вкладках пропадают.
Как сделать чтобы вкладки открывались с кнопками?
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
Public Class Form2
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form1.Controls.Add(TC)
        TC.TabPages.Add(TP)
        TP.Text = TextBox1.Text
        TP.Controls.Add(Button)
        Button.Text = "123"
        Me.Close()
 
    End Sub
End Class
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2018, 09:42
Ответы с готовыми решениями:

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

Как программно открыть новую форму с кнопкой и прогрессбаром?
Всем привет! Подскажите плиз, как можно программно создать формочку с кнопкой отмены и...

Как программно (кнопкой) снимать выделение строчек ListBoxItem элемента ListBox
В моей программе елемент ListBox в одних случаях необходимо убирать из окна (Hidden), в других –...

Searchview закрыть поиск программно, также как закрывается кнопкой back
Осуществляется поиск по списку listview, нужно при клике на элемент списка, чтобы закрывался поиск,...

Как программно создать Label на Frame, которая программно создана на UserForms
Всем доброго времени суток! Программно создать Frame на UserForms можно таким кодом: With...

7
MrCrown
1183 / 1128 / 267
Регистрация: 03.10.2012
Сообщений: 1,194
10.04.2018, 11:00 2
Лучший ответ Сообщение было отмечено anvarik_89 как решение

Решение

anvarik_89, Вот так попробуйте
vb.net
1
2
3
4
Module Module1
    Public TC As New TabControl
    Public n As Integer = 0
End Module
vb.net
1
2
3
4
5
6
7
8
9
Public Class Form2
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form1.Controls.Add(TC)
        TC.TabPages.Add(New TabPage With {.Text = TextBox1.Text})
        TC.TabPages(n).Controls.Add(New Button With {.Text = n.ToString})
        n += 1
        Me.Close()
    End Sub
End Class
2
anvarik_89
0 / 0 / 0
Регистрация: 20.06.2017
Сообщений: 44
11.04.2018, 08:21  [ТС] 3
А как теперь обратится к этой кнопке через Form1
0
Yury Komar
Модератор
Эксперт .NET
2957 / 2682 / 431
Регистрация: 27.01.2014
Сообщений: 4,952
11.04.2018, 09:20 4
anvarik_89, обратиться "за чем"?
0
anvarik_89
0 / 0 / 0
Регистрация: 20.06.2017
Сообщений: 44
11.04.2018, 09:24  [ТС] 5
Для клика. Например чтобы по нажатию выходило сообщение "Нажата кнопка"
0
Yury Komar
Модератор
Эксперт .NET
2957 / 2682 / 431
Регистрация: 27.01.2014
Сообщений: 4,952
11.04.2018, 09:28 6
anvarik_89,
vb.net
1
Button1_Click(sender, e)
Добавлено через 1 минуту
хотя, можете использовать Reflection(вроде), либо функцию "CallByName()
1
anvarik_89
0 / 0 / 0
Регистрация: 20.06.2017
Сообщений: 44
11.04.2018, 09:34  [ТС] 7
vb.net
1
2
3
4
Module Module1
    Public TC As New TabControl
    Public n As Integer = 0
End Module]
vb.net
1
2
3
4
5
6
7
8
9
Public Class Form2
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form1.Controls.Add(TC)
        TC.TabPages.Add(New TabPage With {.Text = TextBox1.Text})
        TC.TabPages(n).Controls.Add(New Button With {.Text = n.ToString})
        n += 1
        Me.Close()
    End Sub
End Class
Как обратится к этой кнопке TC.TabPages(n).Controls.Add(New Button With {.Text = n.ToString})

Добавлено через 3 минуты
Не совсем понял. можно поподробнее
0
MrCrown
1183 / 1128 / 267
Регистрация: 03.10.2012
Сообщений: 1,194
11.04.2018, 10:44 8
Лучший ответ Сообщение было отмечено anvarik_89 как решение

Решение

anvarik_89, немного дополню свой код
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Public Class Form2
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form1.Controls.Add(TC)
        TC.TabPages.Add(New TabPage With {.Text = TextBox1.Text})
        Dim btn As New Button With {.Name = "btn" & n.ToString, .Text = "Button" & n.ToString}
        TC.TabPages(n).Controls.Add(btn)
        AddHandler btn.Click, AddressOf btn_Click
        n += 1
        Me.Close()
 
    End Sub
    Private Sub btn_Click(ByVal sender As Button, ByVal e As EventArgs)
        MsgBox(sender.Name)
    End Sub
   
End Class
Добавлено через 1 час 0 минут
А чтобы просто "обратиться", ну создай еще одну переменную для TabPage, я думал сам догадаешься.
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Public Class Form2
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form1.Controls.Add(TC)
        Dim tp As New TabPage With {.Name = "tp" & n.ToString, .Text = TextBox1.Text}
        TC.TabPages.Add(tp)
        Dim btn As New Button With {.Name = "btn" & n.ToString, .Text = "Button" & n + 1.ToString}
        TC.TabPages(n).Controls.Add(btn)
        AddHandler btn.Click, AddressOf btn_Click
        n += 1
        Me.Close()
 
    End Sub
    Private Sub btn_Click(ByVal sender As Button, ByVal e As EventArgs)
        MsgBox(sender.Name)
    End Sub
   
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        TC.TabPages("tp0").Controls("btn0").BackColor = Color.Red
    End Sub
End Class
2
11.04.2018, 10:44
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2018, 10:44

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как создать TPopMenu как в Windows, при нажатии правой кнопкой по файлу?
Приветствую вас товарищи, доброго дня вам в хату! Помогите пожалуйста! Создаю файловый...

MVC Razor: как программно в представлении влиять на атрибуты внутри тегов?
как сделать чтобы в <tr class="data-table-tr-hover" onclick="location.href =...

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


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

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

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