• [VB.NET,C#.NET] TabControl的Alignment为Left或Right显示TabPage.Text问题


    来源:http://topic.csdn.net/t/20050526/17/4038042.html

    VB.NET

    PrivateSub TabControl1_DrawItem(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles TabControl1.DrawItem
        'Me.TabControl1.DrawMode = TabDrawMode.OwnerDrawFixed ' 必须先改变模式(可将此句放在Load事件上)
        Dim tabArea As Rectangle
        Dim tabTextArea As RectangleF
        tabArea
    = TabControl1.GetTabRect(e.Index)
        tabTextArea
    CType(TabControl1.GetTabRect(e.Index), RectangleF)

        Dim g As Graphics = e.Graphics
        Dim sf As StringFormat New StringFormat()
        sf.LineAlignment
    = StringAlignment.Center
        sf.Alignment
    = StringAlignment.Center

        Dim font As Font Me.TabControl1.Font
        Dim brush As SolidBrush New SolidBrush(Color.Black)
        g.DrawString((
    CType(sender, TabControl)).TabPages(e.Index).Text, font, brush, tabTextArea, sf)
    End Sub

    C#.NET

    private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
    {
        //this.tabControl1.DrawMode = TabDrawMode.OwnerDrawFixed; // 必须先改变模式(可将此句放在Load事件上)
        Rectangle tabArea;
        RectangleF tabTextArea;
        tabArea = tabControl1.GetTabRect(e.Index);
        tabTextArea = (RectangleF)tabControl1.GetTabRect(e.Index);
        Graphics g = e.Graphics;
        StringFormat sf = new StringFormat();
        sf.LineAlignment = StringAlignment.Center;
        sf.Alignment = StringAlignment.Center;
        Font font = this.tabControl1.Font;
        SolidBrush brush = new SolidBrush(Color.Black);
        g.DrawString(((TabControl)(sender)).TabPages[e.Index].Text, font, brush, tabTextArea, sf);
    }
  • 相关阅读:
    操作系統3-內存管理(請求分頁內存管理)
    c++对象的内存模式
    操作系統3-內存管理(虛擬存儲器)
    单词统计续
    团队冲刺八
    团队冲刺七
    团队冲刺六
    团队冲刺五
    关于文件读写的各种操作
    单词统计
  • 原文地址:https://www.cnblogs.com/hcbin/p/1681600.html
Copyright © 2020-2023  润新知