winform 中 tabControl 的 选项卡排列问题

smaworm 2008-01-23 09:57:36
想要有类似csdn论坛左边的那种效果,但是当我把tabControl 中Alignment 设置为 left时 上面的文字就显示不出来了
如何达到类似的效果,查了一下好像可以使用DrawItem事件,但是具体代码不太清楚,高手帮忙,最好有点注释,谢谢。
...全文
168 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
smaworm 2008-01-23
  • 打赏
  • 举报
回复
现在文字显示问题解决了 代码如下 问题是page页面上的图标显示不出来,那个高手能给改正下
private Rectangle tabArea;
private RectangleF tabTextArea;
private void Form1_Load(object sender, EventArgs e)
{
this.tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed;
tabControl1.Alignment = TabAlignment.Left;
}
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
tabArea = tabControl1.GetTabRect(e.Index);

tabTextArea = tabControl1.GetTabRect(e.Index);

Graphics g = e.Graphics;

StringFormat sf = new StringFormat(StringFormatFlags .DirectionVertical);

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);
}

110,534

社区成员

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

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

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