我尝试做的是将具有自定义颜色的自定义选项卡添加到ColorEditorclass
的ColorUIclass
中,该选项卡出现在controls
的PropertyGrid
中。
大概是这样的:(* 只是用Photoshop制作的假图像 *)。
我知道,在某种程度上,我必须创建自己的ColorEditorclass
和override
,ColorUIclass
嵌套在原始ColorEditorclass
内,但我不知道我必须将哪个Method
添加到override
,以便添加额外的Tab
等。
你知道吗?
1条答案
按热度按时间bttbmeg01#
可能一个更灵活(和更少黑客)的解决方案将是重新创建Jimi提到的
ColorEditor
。我也可能采取完全不同的方法来支持主题颜色,例如创建主题扩展程序提供程序组件,或创建派生控件或其他可能的解决方案。无论如何,为了支持我的previous post,特别是我提到的'* 您甚至可以添加另一个标签到编辑器. *',在这里我发布了一个示例代码来添加另一个标签到颜色编辑器,然后您可以看到自定义标签与您需要的自定义颜色,如下所示:
这是一真实的截图;)并不完全是你所要求的,但作为一个示例代码已经足够好了。例如,如果你需要为颜色使用自定义名称,那么你需要在
DrawItem
中进行更多的自定义,或者从头重新编写控件。代码如下:
**注意:**它依赖于颜色编辑器的实现详细信息,例如,在.NET 5+中,成员字段名称为“_colorUI”。