tabcontrol owndraw 改变 tabcontrol 的边框样式

发布于 2024-10-06 15:14:50 字数 367 浏览 10 评论 0原文

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

alt text

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

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

或者如何修复选项卡控件的边框样式?

I got a problem with tabcontrol.
When I change the DrawMode to ownderdrawfixed, the borderstyle of the tabcontrol changes from "fixedsingle" to "3dfixed" but there's no such a property of tabcontrol borderstyle. the closest thing to borderstyle of tabcontrol is the appearance which didnt change.

alt text

look at the picture above to understand what I am talking about.

is there any way to change to color of the tabpage title without ownerdraw so I will not have to use ownerdraw?

or how can I fix the borderstyle of the tabcontrol?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

再浓的妆也掩不了殇 2024-10-13 15:14:50

当您将控件设置为 Ownerdraw 时,您具体是在说“我将处理该控件的所有绘图”。这会完全禁用视觉样式渲染。

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

另请参阅有关树视图 Ownerdraw 的问题:VisualStyleRenderer 和主题 (WinForms)

When you set a control to ownerdraw, you are specifically saying "I will handle all drawing for this control". This disables the visual styles rendering completely.

In order to render a control with visual styles, you'll need to use the facilities found in the System.Windows.Forms.VisualStyles namespace. It requires a good bit of code, but then you are saying you want to handle it all yourself. I'd start with the examples for VisualStyleRenderer - You'll need to call it, passing VisualStyleElements to render.

See also this question about treeview ownerdraw: VisualStyleRenderer and themes (WinForms)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文