Как реализовать элемент управления вкладками с вертикальными вкладками в C #? - PullRequest
9 голосов
/ 12 ноября 2009

Как реализовать элемент управления вкладками с вертикальными вкладками в C #?

Ответы [ 2 ]

18 голосов
/ 12 ноября 2009

Создайте экземпляр System.Windows.Forms.TabControl (один из стандартных элементов управления контейнером для Windows Forms) и установите для свойства Alignment значение Left.

1 голос
/ 06 декабря 2016

Сначала установите в свойствах свойство Alignment Left.

Второй параметр свойства SizeMode имеет значение Fixe.

Третий набор Свойство ItemSize для предпочтительного размера Пример ширины: 30 Высота: 120.

После этого вам нужно установить для свойства DrawMode значение OwnerDrawFixed. Следующим шагом является определение обработчика для события DrawItem в TabControl, которое отображает текст слева направо.

Пример В форме Designers.cs файл

TabControl.DrawItem += new DrawItemEventHandler(tabControl_DrawItem);

Определение для метода tabControl_DrawItem:

private void tabControl_DrawItem(Object sender, System.Windows.Forms.DrawItemEventArgs e)
    {
        Graphics g = e.Graphics;
        Brush _textBrush;

        // Get the item from the collection.
        TabPage _tabPage = TabControl.TabPages[e.Index];

        // Get the real bounds for the tab rectangle.
        Rectangle _tabBounds = TabControl.GetTabRect(e.Index);

        _textBrush = new System.Drawing.SolidBrush(Color.Black);

        // Use our own font.
        Font _tabFont = new Font("Arial", (float)12.0, FontStyle.Bold, GraphicsUnit.Pixel);

        // Draw string. Center the text.
        StringFormat _stringFlags = new StringFormat();
        _stringFlags.Alignment = StringAlignment.Center;
        _stringFlags.LineAlignment = StringAlignment.Center;
        g.DrawString(_tabPage.Text, _tabFont, _textBrush, _tabBounds, new StringFormat(_stringFlags));
    }

Эффект: Готов горизонтальный табулятор

Я был основан на https://msdn.microsoft.com/en-us/library/ms404305(v=vs.110).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...