想要有类似csdn论坛左边的那种效果,但是当我把tabControl 中Alignment  设置为 left时 上面的文字就显示不出来了
如何达到类似的效果,查了一下好像可以使用DrawItem事件,但是具体代码不太清楚,高手帮忙,最好有点注释,谢谢。

解决方案 »

  1.   

    现在文字显示问题解决了 代码如下 问题是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);  
            }