.Net Menustrip背景颜色范围
时间:2020-03-06 14:39:22 来源:igfitidea点击:
我需要在MenuStrip的右侧放置一个控件。 MenuStrip的颜色从左侧的BackColor逐渐变淡为右侧的白色,理想情况下,我希望通过与该菜单栏具有相同的backColor来混合我的小型控件。有人知道该颜色是如何计算的吗?
最坏的情况是,我们可以推荐一个小应用程序从屏幕上采样颜色吗?
[更新]如果可以调整菜单条的大小,则采样不是一种有用的方法
解决方案
我使用Paint.Net对颜色进行采样:创建整个屏幕或者窗口的屏幕转储,然后使用Paint.Net对颜色进行采样。
工具条渲染器在ProfessionalColorTable中定义的两种颜色之间绘制渐变,该颜色将传递到ToolStripProfessionalRenderer构造函数中。它使用MenuStripGradientBegin和MenuStripGradientEnd值。
因此,我们需要恢复这两个值,然后适当地将背景绘制为线性渐变。
ToolStrip的背景(即MenuStrip,StatusStrip等)不是硬编码的。
查找" ToolStripRender"类和派生类" ToolStripSystemRenderer"和" ToolStripProfessionalRender"。他们有几种绘制ToolStrip零件的方法。