gpt4 book ai didi

c# - 如何在 .NET 中创建非 OwnerDraw 按钮?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:14:02 26 4
gpt4 key购买 nike

我正在为一个软件创建一个插件,该插件可以为我创建的表单设置皮肤。但是,按钮不是基于它们的皮肤,而是显示标准的灰色按钮。在软件论坛上询问指出 .NET 表单控件是所有者绘制的,因此我的按钮不会以正确的样式重绘,而是创建一个非所有者绘制的按钮。

system.windows.forms 命名空间中的所有控件似乎都是所有者绘制的。

那么如何在 .NET 中创建标准的 C++ PUSHBUTTON?

如果有帮助,目前正在使用 C# 编码。

谢谢

最佳答案

Windows.Forms 中的控件不是所有者绘制的,而是系统绘制的。这就是 Windows 默认绘制它们的方式,无论是按钮、文本框还是其他什么。您可以通过指定控件应该是所有者绘制的(即:您负责绘制它)来覆盖绘图 - 一些控件支持,其中一些甚至具有更精细的粒度(请参阅 ListView),或者您可以在任何 Control 后代的 OnPaint 事件中完全覆盖绘画。

您的问题相当令人困惑 - 据我所知,您在插件中创建的按钮没有蒙皮。显然,您需要的是告诉此蒙皮框架绘制这些按钮。可能有或应该有一些组件,您可以将其放入您调用的插件表单或方法中,将蒙皮绘制例程注入(inject)您的插件。

关于c# - 如何在 .NET 中创建非 OwnerDraw 按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/346750/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com