Private tabArea As Rectangle Private tabTextArea As RectangleF Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.TabControl1.DrawMode = TabDrawMode.OwnerDrawFixed '設置用戶繪制方式 Me.TabControl1.Alignment = TabAlignment.Right '設置TAB項右對齊布局 'TabControl1.SizeMode = TabSizeMode.Fixed ‘設置TAB項大小的方式(全都一樣大小) 'TabControl1.ItemSize = New Size(150, 20) '設置大小 End Sub Private Sub TabControl1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles TabControl1.DrawItem tabArea = TabControl1.GetTabRect(e.Index) '主要是做個轉換來獲得TAB項的RECTANGELF tabTextArea = RectangleF.op_Implicit(TabControl1.GetTabRect(e.Index)) Dim g As Graphics = e.Graphics Dim sf As New StringFormat() '封裝文本布局信息 sf.LineAlignment = StringAlignment.Center sf.Alignment = StringAlignment.Center Dim p As New Pen(Color.Blue) '繪制邊框的畫筆 Dim font As New Font("Arial", Dim brush As New SolidBrush(Color.Red) g.DrawRectangle(p, tabArea) '繪制邊框 '繪制文字 g.DrawString(CType(sender, TabControl).TabPages(e.Index).Text, font, brush, tabTextArea, sf) End Sub |
溫馨提示:喜歡本站的話,請收藏一下本站!