我需要在 MenuStrip 的右侧放置一个控件。MenuStrip 的颜色从左侧的 BackColor 逐渐变为右侧的白色,理想情况下,我希望通过与菜单条在该侧具有相同的 backColor 来使我的小控件融入其中。有谁知道这种颜色是如何计算的?
最坏的情况,你能推荐一个用于从屏幕上采样颜色的小应用程序吗?
[更新] 如果菜单条可以调整大小,采样不是有用的方法
我需要在 MenuStrip 的右侧放置一个控件。MenuStrip 的颜色从左侧的 BackColor 逐渐变为右侧的白色,理想情况下,我希望通过与菜单条在该侧具有相同的 backColor 来使我的小控件融入其中。有谁知道这种颜色是如何计算的?
最坏的情况,你能推荐一个用于从屏幕上采样颜色的小应用程序吗?
[更新] 如果菜单条可以调整大小,采样不是有用的方法
工具条渲染器在传递给ToolStripProfessionalRenderer构造函数的ProfessionalColorTable中定义的两种颜色之间绘制渐变。它使用MenuStripGradientBegin和MenuStripGradientEnd值。
因此,您需要恢复这两个值,然后将背景适当地绘制为线性渐变。
我使用 Paint.Net 对颜色进行采样:制作整个屏幕或窗口的屏幕转储,然后使用 Paint.Net 对颜色进行采样。
ToolStrip 的背景(即MenuStrip、StatusStrip 等...)不是硬编码的。查找“ToolStripRender”类和派生类“ToolStripSystemRenderer”和“ToolStripProfessionalRender”。他们有几种方法来绘制 ToolStrip 的一部分。