我需要在MenuStrip的右侧放置一个控件。MenuStrip的颜色从左手边的BackColor渐变为右手边的白色,理想情况下,我想让我的小控件与右手边的菜单条具有相同的BackColor。有人知道那种颜色是怎么计算的吗?
最糟糕的情况是,你能推荐一个小应用程序在屏幕外采样颜色吗?
[Update]如果可以调整菜单条的大小,则采样不是一种有用的方法
我需要在MenuStrip的右侧放置一个控件。MenuStrip的颜色从左手边的BackColor渐变为右手边的白色,理想情况下,我想让我的小控件与右手边的菜单条具有相同的BackColor。有人知道那种颜色是怎么计算的吗?
最糟糕的情况是,你能推荐一个小应用程序在屏幕外采样颜色吗?
[Update]如果可以调整菜单条的大小,则采样不是一种有用的方法
工具栏渲染器在传递到ToolStripProfessionalRenderer构造函数。它使用MenuStripGradientBegin和MenuStripGradientEnd值。
因此,您需要恢复这两个值,然后将背景适当地绘制为线性渐变。
我使用Paint.Net采样颜色:对整个屏幕或窗口进行屏幕转储,然后使用Paint.Net对颜色进行采样。
The background of ToolStrip ( i.e. MenuStrip, StatusStrip, etc... ) is not hard-coded. Look for "ToolStripRender" class and derived classes "ToolStripSystemRenderer" and "ToolStripProfessionalRender". They have several method for drawing parts of ToolStrip.