Скрытие и отображение вкладок в tabControl

Что-то вроде http://loadcontext.blogspot.com/2008/08/eclipse-34-breadcrumbs-hide-and-show.html ?

Настройте Перспектива, выберите вкладку «Команды». В группе «Доступные команды» выберите «Презентация редактора Java». На панели инструментов отображается кнопка Toggle Breadcrumbs, которая выглядит как папка с C по кругу с черным треугольником над ней.

blockquote>

Несмотря на мой абсолютный недостаток опыта работы с Eclipse, Я полагаю, что этот параметр должен появиться и в других позициях Презентации. После включения кнопки все, что вам нужно сделать, это нажать на нее. Или нет?

34
задан Justin Ethier 29 July 2010 в 16:50
поделиться

2 ответа

Вы можете удалить страницу вкладки из коллекции TabControl.TabPages и хранить ее в списке. For example:

    private List<TabPage> hiddenPages = new List<TabPage>();

    private void EnablePage(TabPage page, bool enable) {
        if (enable) {
            tabControl1.TabPages.Add(page);
            hiddenPages.Remove(page);
        }
        else {
            tabControl1.TabPages.Remove(page);
            hiddenPages.Add(page);
        }
    }

    protected override void OnFormClosed(FormClosedEventArgs e) {
        foreach (var page in hiddenPages) page.Dispose();
        base.OnFormClosed(e);
    }
35
ответ дан 27 November 2019 в 06:47
поделиться

У меня работает мой пример кода, но я хочу сделать его несколько лучше, перенаправив вкладку из списка:

Public Class Form1
    Dim State1 As Integer = 1
    Dim AllTabs As List(Of TabPage) = New List(Of TabPage)

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Check1(State1)
        State1 = CInt(IIf(State1 = 1, 0, 1))
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        AllTabs.Add(TabControl1.TabPages("TabPage1"))
        AllTabs.Add(TabControl1.TabPages("TabPage2"))
    End Sub

    Sub Check1(ByVal No As Integer)
        If TabControl1.TabPages.ContainsKey("TabPage1") Then
            TabControl1.TabPages.Remove(TabControl1.TabPages("TabPage1"))
        End If
        If TabControl1.TabPages.ContainsKey("TabPage2") Then
            TabControl1.TabPages.Remove(TabControl1.TabPages("TabPage2"))
        End If
        TabControl1.TabPages.Add(AllTabs(No))
    End Sub
End Class
1
ответ дан 27 November 2019 в 06:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: