Когда я изменяю режим рисования на OwnerDrawFixed, TabControl меняет вид на 3D - PullRequest
0 голосов
/ 21 мая 2019

Я хотел нарисовать свой собственный элемент управления Tab из кода, и мне это удалось, вызвав метод tabControl1_DrawItem для события DrawItem.

Но когда я изменяю режим рисования на OwnerDrawFixed, весь элемент управления на вкладке внезапно появляется в 3D, а ранее, когда режим рисования был установлен в обычный режим, он отображается в 2D.И я не могу понять, какое свойство влияет на это, и как достичь 2D?

Это метод:

private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
        {
            TabPage page = tabControl1.TabPages[e.Index];
            StringFormat drawFormat = new StringFormat();
            drawFormat.Alignment = StringAlignment.Center;
            drawFormat.LineAlignment = StringAlignment.Center;

            var tabArea = tabControl1.GetTabRect(e.Index);

            RectangleF  tabTextArea = tabControl1.GetTabRect(e.Index);

            Graphics g = e.Graphics;
            Pen p = new Pen(Color.Empty);


            if (!page.Enabled)
            {
                using (SolidBrush brush = new SolidBrush(SystemColors.GrayText))
                {
                    g.DrawRectangle(p, tabArea);
                    e.Graphics.DrawString(page.Text, page.Font, brush, tabTextArea, drawFormat);
                }
            }
            else
            {
                using (SolidBrush brush = new SolidBrush(page.ForeColor))
                {
                    g.DrawRectangle(p, tabArea);
                    e.Graphics.DrawString(page.Text, page.Font, brush, tabTextArea, drawFormat);
                }
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...