我需要在MenuStrip的右侧放置一个控件。 MenuStrip的颜色从左侧的BackColor渐变为右边的白色,理想情况下我希望通过具有与menustrip相同的backColor来使我的小控件混合。有谁知道如何计算这种颜色?

最糟糕的情况是,您是否可以推荐一款小应用程序,用于从屏幕上采样颜色?

[更新]如果可以调整menustrip的大小,则采样不是一种有用的方法

有帮助吗?

解决方案

工具条渲染器在两种颜色之间绘制渐变,这两种颜色在 ProfessionalColorTable 传递到 ToolStripProfessionalRenderer 构造函数。它使用 MenuStripGradientBegin 和< a href =“http://msdn.microsoft.com/en-us/library/system.windows.forms.professionalcolortable.menustripgradientend.aspx”rel =“nofollow noreferrer”> MenuStripGradientEnd 值。

因此,您需要恢复这两个值,然后将您的背景适当地绘制为线性渐变。

其他提示

我使用Paint.Net对颜色进行采样:制作整个屏幕或窗口的screendump,然后使用Paint.Net对颜色进行采样。

ToolStrip的背景(即MenuStrip,StatusStrip等...)不是硬编码的。 寻找“ToolStripRender” class和派生类&quot; ToolStripSystemRenderer&quot;和“ToolStripProfessionalRender”。他们有几种绘制ToolStrip部件的方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top