你知道那些带有一个小矩形的颜色选择器按钮,显示当前选择的颜色吗?与MS Office产品一样。
我想用C#/ .NET实现一个。所以我有一个漂亮的小图标,带有洋红色矩形(用于显示颜色)和透明背景。
我可以想到两种方法可以做到这一点,但它们都不是很优雅:
因此。也许我错过了实现这样一个按钮的明显,简单的方法? 提前感谢任何提示/建议/灵感:)
答案 0 :(得分:0)
您可以轻松覆盖OnPaint
方法并使用您想要的任何颜色绘制矩形。
答案 1 :(得分:0)
显然,没有优雅的解决方案。我选择了第一个,使用PNG透明度和BackColor,缺点是必须为png背景着色,如包含面板的背景。这种方式似乎是最不痛苦的。
答案 2 :(得分:0)
我认为没有理由使用图标,PNG或任何其他图像资源。这似乎完全浪费了资源。
只需从代码中绘制框,绘制当前属于控件颜色列表的颜色。理想情况下,您的控件将允许调用者添加自己的颜色。并且它不需要任何摆弄图像。
我刚刚使用了owner-draw combo box when I did this,但我画了一个颜色框,正如我所描述的那样。很容易。