关于TabControl的选中TABPAGE的标题设置?
我想实现,当tabpage中内容改变时,标题文字变色。 如果设定TabControl DrawMode=OwnerDrawFixed, 然后自己画的话,改变的是所有tabpage的标题栏。 如何才能只改变一个呢? --------------------编程问答--------------------private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)--------------------编程问答-------------------- 用这个方法,其他所有tabpage的标题都消失了。我想改变选中的,保留其他的。 --------------------编程问答-------------------- 刚想出来一个,利用了tabpage的tag。当tabpage内容改变时设tag为True。这样可以不仅可以在需要时改变标题字体颜色,还可以更改某个tabpage标题时保留之前其他tabpage的变化。这是我目前想到的最简单的方法了,不知道还有没有其他更好的。
{
if (e.Index == 0)
{
// 这里处理
}
}
Private Sub TabPage_Draw(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs)
Dim rTabText As RectangleF = RectangleF.op_Implicit(e.Bounds)
'Draw the text
If mtabMain.TabPages(e.Index).Tag = "True" Then
e.Graphics.DrawString(mtabMain.TabPages(e.Index).Text, e.Font, Brushes.Yellow, rTabText)
Else
e.Graphics.DrawString(mtabMain.TabPages(e.Index).Text, e.Font, Brushes.Black, rTabText)
End If
End Sub --------------------编程问答-------------------- 目前的方法还不是最优,每次动态加载tabpage的时候都会失去tag,必须重新判断tabpage里的内容,时间长,而且会很闪。有没有更好的建议?
补充:.NET技术 , VB.NET