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

1 篇文章 0 订阅
1 篇文章 0 订阅

VB.NET

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值