none
TAB控件, 有没有办法让他旋转 RRS feed

  • 问题

  • VISUAL C#中的TAB控件, 有没有办法让他旋转, 也就是让它的text 显示为竖立的.

    通常都是水平的, tabpage1| tabpage2| tabpage3

                           |                                                 |

                           |                                                 |

                           |                                                 |

                           -----------------------------------------

    2012年6月29日 14:27

答案

  • 楼主好,建议这样做:

    1)设置Alignment=Left。

    2)设置ItemSize为(高120,宽25)。

    3)设置DrawMode=OwnerDrawFixed。

    4)设置SizeMode=Fixed。

    5)重写DrawItem事件:

    public partial class Form1 : Form
        {
     
            public Form1()
            {
                InitializeComponent();
            }
     
            private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
            {
                    e.DrawFocusRectangle();
                    e.DrawBackground();
                    //计算出字符的高度和宽度
                    SizeF f = e.Graphics.MeasureString("标签"+(e.Index+1), SystemFonts.DefaultFont);
                    //计算起始X坐标
                    float x = tabControl1.ItemSize.Height - f.Width;
                    e.Graphics.DrawString("标签" + (e.Index + 1), SystemFonts.DefaultFont, Brushes.Black, new PointF(e.Bounds.X + 5, e.Bounds.Y +
                        5));
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                tabControl1.TabPages.Add("标签");
            }
        }

    下载MSDN桌面工具(Vista,Win7)
    我的博客园
    慈善点击,点击此处

    2012年6月30日 3:40
    版主