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

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

system.windows.forms命名空间中的所有控件似乎都是ownerdraw.

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

目前正在编写C#,如果这有帮助.

谢谢

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

您的问题相当混乱 – 据我所知,您在插件中创建的按钮没有蒙皮.显然你需要告诉这个皮肤框架来绘制这些按钮.您可能或应该将某些组件放到您调用的插件表单或方法中,这些组件或方法会将蒙皮绘制例程注入到插件中.

点赞