tabcontrol用了DrawItem事件后,tabpages的文本都修改了怎么办?

sanyexian 2010-11-15 11:16:40
想要修改tabcontrol的tabpage被选中时的字体显示,按照网上的例子设定了drawmode和重写了drawitem事件。不过现在tabpage的文本都被修改成“Tabpage2”之类的,请问这该怎么把文本都显示回原来的,还需要在代码中全部重新写一次么?
...全文
163 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanyexian 2010-11-15
  • 打赏
  • 举报
回复

Private Sub TabControl1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles TabControl1.DrawItem
Dim g As Graphics = e.Graphics
Dim tabArea As Rectangle
Dim tabTextArea As RectangleF
Dim p As Pen
Dim font As Font
Dim brush As SolidBrush
Dim t As TabPage
Dim ti As Integer

For Each t In TabControl1.TabPages
If ti = i Then
font = New Font("Arial", 12.0F, FontStyle.Bold)
brush = New SolidBrush(Color.Red)
Else
font = New Font("Arial", 10.0F)
brush = New SolidBrush(Color.Black)
End If

p = New Pen(Color.Transparent)
tabArea = TabControl1.GetTabRect(i)
tabTextArea = RectangleF.op_Implicit(TabControl1.GetTabRect(ti))
g.DrawRectangle(p, tabArea)
g.DrawString("TabPage" & (ti + 1).ToString, font, brush, tabTextArea)
ti += 1
Next

End Sub

Private Sub TabControl1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TabControl1.SelectedIndexChanged
i = TabControl1.SelectedIndex
TabControl1.Refresh()
End Sub
兔子-顾问 2010-11-15
  • 打赏
  • 举报
回复
贴你代码或是上传到某个地方下载看看才知道。

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧