3个回答
展开全部
这个其实可以做,
先在窗体的load事件中加:
tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;//设置为用户绘制方式
然后点击tabControl1的DrawItem事件中加如下代码:
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
Rectangle tabArea = tabControl1.GetTabRect(e.Index);//主要是做个转换来获得TAB项的RECTANGELF
RectangleF tabTextArea = (RectangleF)(tabControl1.GetTabRect(e.Index));
Graphics g = e.Graphics;
StringFormat sf = new StringFormat();//封装文本布局信息
sf.LineAlignment = StringAlignment.Center;
sf.Alignment = StringAlignment.Near;
Font font = this.tabControl1.Font;
SolidBrush brush = new SolidBrush(Color.Black);//绘制边框的画笔
g.DrawString(((TabControl)(sender)).TabPages[e.Index].Text, font, brush, tabTextArea, sf);
}
就可以实现了,我做过,可以的,祝你成功!
先在窗体的load事件中加:
tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;//设置为用户绘制方式
然后点击tabControl1的DrawItem事件中加如下代码:
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
Rectangle tabArea = tabControl1.GetTabRect(e.Index);//主要是做个转换来获得TAB项的RECTANGELF
RectangleF tabTextArea = (RectangleF)(tabControl1.GetTabRect(e.Index));
Graphics g = e.Graphics;
StringFormat sf = new StringFormat();//封装文本布局信息
sf.LineAlignment = StringAlignment.Center;
sf.Alignment = StringAlignment.Near;
Font font = this.tabControl1.Font;
SolidBrush brush = new SolidBrush(Color.Black);//绘制边框的画笔
g.DrawString(((TabControl)(sender)).TabPages[e.Index].Text, font, brush, tabTextArea, sf);
}
就可以实现了,我做过,可以的,祝你成功!
展开全部
你用第三方的吧,内置的不支持
追问
现在我想用图片代替了,可惜变换尺寸控件也跟着变大,怎么办啊
追答
还是第三方的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询