2011-05-20 56 views
0

嘿,夥計們,我正在嘗試做一個像音量混音器的形式。如何像音量混合器一樣實現相同的背景效果?

感謝這個鏈接create a form with a border but no title bar,我完成了一半:)窗體有白色背景(我認爲它的窗口顏色),在它下面有一個陰影線,然後像背景綠色(假設InactiveBorder顏色)。

我還發現:c volume mixer like buttons他們建議使用WPF作爲按鈕效果。

我的問題是,如何實現像Windows窗體中的音量混音器一樣的背景效果,使用漸變線?

太多了你的幫助。

回答

1

LinearGradientBrush爲您提供了所需的功能。下面的快速示例:

var startColor = Color.FromArgb(241, 245, 251); 
var endColor = Color.FromArgb(204, 217, 234); 

using (var brGradient = new LinearGradientBrush(panel1.ClientRectangle, startColor, endColor, LinearGradientMode.Vertical)) 
{ 
    brGradient.Blend = new Blend 
      { 
       Factors = new[] { 1.0f, 0.1f, 0.0f }, 
       Positions = new[] { 0.0f, 0.1f, 1.0f } 
      }; 
    e.Graphics.FillRectangle(brGradient, panel1.ClientRectangle); 
} 
+0

Ty爲您的答案,但我想實現的是窗體的背景。如果你看到它是最白的(窗口背景),然後有一個陰影線,然後有一些像背景一樣的「綠色」。 – 2011-05-24 14:56:43

+0

我誤解了你的問題。更新了答案(假設我現在理解得更好) – 2011-05-25 17:45:12

+0

這麼說,它確實有效,只是關於您的解決方案的一個小問題。綠色它的自定義顏色不是系統顏色對不對? – 2011-05-26 17:00:43