【问题标题】:tabcontrol ownerdraw changes the tabcontrol's border styletabcontrol ownerdraw 改变 tabcontrol 的边框样式
【发布时间】:2010-12-07 17:17:17
【问题描述】:

我遇到了 tabcontrol 的问题。 当我将DrawMode更改为ownderdrawfixed时,tabcontrol的borderstyle从“fixedsingle”变为“3dfixed”,但tabcontrolborderstyle没有这样的属性。最接近tabcontrol的borderstyle的是外观没有变化。

看看上面的图片就明白我在说什么了。

有没有什么方法可以在没有 ownerdraw 的情况下更改标签页标题的颜色,这样我就不必使用 ownerdraw 了?

或者如何修复tabcontrol的边框样式?

【问题讨论】:

  • Ownerdraw 禁用视觉样式渲染器。
  • 如何在 ownerdraw 中启用它?
  • @HansPassant ,有没有办法在没有第三方库的情况下做到这一点?我希望我能做类似override 的事情:D

标签: c# .net tabcontrol ownerdrawn


【解决方案1】:

当您将控件设置为 ownerdraw 时,您明确表示“我将处理此控件的所有绘图”。这会完全禁用视觉样式渲染。

为了呈现具有视觉样式的控件,您需要使用System.Windows.Forms.VisualStyles 命名空间中的工具。它需要大量的代码,但是你说你想自己处理这一切。我将从VisualStyleRenderer 的示例开始 - 您需要调用它,将VisualStyleElements 传递给渲染。

另请参阅有关 treeview ownerdraw 的问题:VisualStyleRenderer and themes (WinForms)

【讨论】:

  • 我得到了这个函数来绘制我想要的边框msdn.microsoft.com/en-us/library/…,但我不知道如何使用它。当我将 DrawVisualStyleElementTabPane1(e) 放在表单的绘制函数中时,它会绘制一个新的“控件”。
猜你喜欢
  • 2011-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-31
  • 2019-11-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多