当前位置:编程学习 > C#/ASP.NET >>

关于TabControl的选中TABPAGE的标题设置?

我想实现,当tabpage中内容改变时,标题文字变色。 如果设定TabControl DrawMode=OwnerDrawFixed, 然后自己画的话,改变的是所有tabpage的标题栏。 如何才能只改变一个呢? --------------------编程问答--------------------
     private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
        {
            if (e.Index == 0)
            {
                // 这里处理
            }
        }
--------------------编程问答-------------------- 用这个方法,其他所有tabpage的标题都消失了。我想改变选中的,保留其他的。 --------------------编程问答-------------------- 刚想出来一个,利用了tabpage的tag。当tabpage内容改变时设tag为True。这样可以不仅可以在需要时改变标题字体颜色,还可以更改某个tabpage标题时保留之前其他tabpage的变化。这是我目前想到的最简单的方法了,不知道还有没有其他更好的。

    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
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,