我想从代码中绘制我自己的Tab控件,通过在DrawItem事件上调用tabControl1\u DrawItem方法,我成功地实现了这一点。
但当我将绘图模式更改为OwnerDrawFixed时,整个选项卡控件突然显示为3D,而之前将绘图模式设置为Normal时,它显示为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);
}
}
}