2

我有一个控件,它在 a 中托管 aNumericUpDownToolStripControlHost公开了NumericUpDown的属性。从功能上讲,这很好,但是当它放在 a 上时,它在视觉上与其他sToolStrip不匹配。ToolStripItem

我想使用ToolStrip现有的 'sToolStripRenderer以类似于控件上的ToolStripComboBoxes 的方式绘制控件。我对创建自定义ToolStripRenderer来执行此操作不感兴趣,因为我希望使用该控件的其他人能够将它与他们选择的任何渲染器一起使用。

我已经尝试在托管控件类和托管控件类中覆盖OnPaintOnPaintBackground使用渲染器的绘图方法,但我所能实现的就是在边缘周围有一个未绘制的区域;旋转按钮仍然使用系统主题绘制。

如何NumericUpDown使用现有的绘制托管ToolStripRenderer

4

1 回答 1

0

NumericUpDown 类实际上只是作为 GDI 的一部分存在的公共控件类的包装器。底层公共控件将根据是否为应用程序启用视觉样式以两种方式之一绘制自身。要覆盖绘图,您需要自己执行所有绘图。您不能告诉控件您只想覆盖按钮或边框。

自己完成所有的绘图比听起来要困难得多。抱歉,我无法提供简单的解决方案,但我认为没有简单的解决方案。

于 2009-03-04T11:04:42.510 回答