关于tabControl重绘问题

渐行人 2014-03-04 02:10:51

要实现红色圈起的效果时遇到如下图的问题:

改如何才能正确的显示文字。网上说通过重绘可以解决,但还没找到具体的方法。
求高手指教。
...全文
346 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
渐行人 2014-03-04
  • 打赏
  • 举报
回复
[quote=引用 1 楼 feiyun0112 的回复:] DrawMode = OwnerDrawFixed private void tabControl1_DrawItem(object sender, DrawItemEventArgs e) { var g = e.Graphics; var sText = tabControl1.TabPages[e.Index].Text; var sizeText = g.MeasureString(sText, tabControl1.Font); var iX = e.Bounds.Left + 6; var iY = e.Bounds.Top + (e.Bounds.Height - sizeText.Height)/2; g.DrawString(sText, tabControl1.Font, Brushes.Black, iX, iY); } ***************************************************************************** 能加点注释吗,不怎么会使用,我贴过来没效果。
bdmh 2014-03-04
  • 打赏
  • 举报
回复
去看conmajia的博客,里面专门讲tabcontrol的重绘
feiyun0112 2014-03-04
  • 打赏
  • 举报
回复
DrawMode = OwnerDrawFixed

private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
var g = e.Graphics;

var sText = tabControl1.TabPages[e.Index].Text;
var sizeText = g.MeasureString(sText, tabControl1.Font);

var iX = e.Bounds.Left + 6;
var iY = e.Bounds.Top + (e.Bounds.Height - sizeText.Height)/2;

g.DrawString(sText, tabControl1.Font, Brushes.Black, iX, iY);
}


*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧