我一直在谷歌搜索,测试等几个小时,我就在我开始的地方。 vb.net选项卡控件很糟糕...有没有人有提示或代码来实现它,所以当我选择一个选项卡时,字体颜色会改变,或者它只是使选项卡标题文本变为粗体?
我已经搞乱了绘制命令,虽然它确实有效,但它会绘制边框/背景,因此它们看起来很旧/过时。
这基本上是我正在处理的一个简单的标签文本编辑器,当控件中的文本框发生变化时,我可以用红色字体更新关联的标签,或者只是粗体表示该标签上的文本框被修改。 / p>
我绝对愿意接受替代标签控件,只要它们是免费的并附带一个vb.net示例:)
这是在vb.net 2008 express
答案 0 :(得分:0)
将选项卡控件的DrawMode设置为OwnerDrawFixed并自行绘制选项卡以响应DrawItem事件。
答案 1 :(得分:0)
将TabControl drawmode设置为OwnerDrawFixed,然后创建一个eventhandler来绘制选项卡以响应DrawItem事件。 e.g。
Private Sub TabControl1_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles TabControl1.DrawItem
Dim tabctl As TabControl = DirectCast(sender, TabControl)
Dim g As Graphics = e.Graphics
Dim font As Font = tabctl.Font
Dim brush As New SolidBrush(Color.Black)
tabTextArea = RectangleF.op_Implicit(tabctl.GetTabRect(e.Index))
If tabctl.SelectedIndex = e.Index Then
font = New Font(font, FontStyle.Bold)
brush = New SolidBrush(Color.Red)
End If
g.DrawString(tabctl.TabPages(e.Index).Text, font, brush, tabTextArea)
End Sub