dinu kumar Ответов: 1

Добавьте вкладку с другой вкладки в VB.NET


Я пытаюсь добавить новую вкладку в tabcontrol, щелкнув представление таблицы данных в другой вкладке той же формы. использование парового кода для выполнения задачи, но не получение каких-либо ошибок или выходных данных.

Dim TP As New TabPage
TP.Text = "   Payment    . "
form1.TabControlEx1.TabPages.Add(TP)
form1.TabControlEx1.SelectedTab = TP
Dim child As New FastPayment
child.TopLevel = False 
child.FormBorderStyle = Windows.Forms.FormBorderStyle.None
child.Dock = DockStyle.Fill
TP.Controls.Add(child)
child.Show()


Что я уже пробовал:

Dim TP As New TabPage
TP.Text = "   Payment    . "
form1.TabControlEx1.TabPages.Add(TP)
form1.TabControlEx1.SelectedTab = TP
Dim child As New FastPayment
child.TopLevel = False 
child.FormBorderStyle = Windows.Forms.FormBorderStyle.None
child.Dock = DockStyle.Fill
TP.Controls.Add(child)

1 Ответов

Рейтинг:
1

OriginalGriff

Это очень похоже на код, который я использую для добавления новой вкладки:

TabPage tp;
foreach (User user in justUsers)
    {
    tp = new TabPage(user.LongName);
    tp.DoubleClick += UserTabPage_DoubleClick;
    tp.Tag = user;
    UserDataView view = new UserDataView(user, entries[user]);
    view.Dock = DockStyle.Fill;
    view.ToggleDisplay += view_ToggleDisplay;
    view.TargetValue = Properties.Settings.Default.TargetValue;
    view.TargetChanged += view_TargetChanged;
    tp.Controls.Add(view);
    tabUsers.TabPages.Add(tp);
    }
По общему признанию, мой находится в C#, но мы оба делаем одни и те же вещи в одном и том же порядке.
Так что, скорее всего, не ваш код вызывает проблему, а если и вызывает, то его где-то "проглатывает" блок catch.
Скорее всего, код по какой-то причине не выполняется.

Поставьте точку останова в первой строке и пройдите свой путь через код: убедитесь, что все это выполняется, и внимательно посмотрите на переменные, когда вы идете. Убедитесь, что это правильный TabControl, проверив также существующие TabPages.