1
我創建了我的表單背景的漸變,但我現在有這個問題。在winforms中,當我最小化,然後最大化形式我得到這個:Winforms最小化後最大化後的梯度誤差
imageshack.us/photo/my-images/35/errorbl.png。
我想這個錯誤是表單必須在最大化之後重新繪製,而不是。有人知道如何解決它?
謝謝!
調用梯度:
public Base()
{
InitializeComponent();
this.Paint += new PaintEventHandler(Form_Background);
}
梯度方法:
public void Form_Background(object sender, PaintEventArgs e)
{
Color c1 = Color.FromArgb(255, 252, 254, 255);
Color c2 = Color.FromArgb(255, 247, 251, 253);
Color c3 = Color.FromArgb(255, 228, 239, 247);
Color c4 = Color.FromArgb(255, 217, 228, 238);
Color c5 = Color.FromArgb(255, 200, 212, 217);
Color c6 = Color.FromArgb(255, 177, 198, 215);
Color c7 = Color.FromArgb(255, 166, 186, 208);
LinearGradientBrush br = new LinearGradientBrush(this.ClientRectangle, c1, c7, 90, true);
ColorBlend cb = new ColorBlend();
cb.Positions = new[] { 0, (float)0.146, (float)0.317, (float)0.439, (float)0.585, (float)0.797, 1 };
cb.Colors = new[] { c1, c2, c3, c4, c5, c6, c7 };
br.InterpolationColors = cb;
// paint
e.Graphics.FillRectangle(br, this.ClientRectangle);
}
這是相關的? http://stackoverflow.com/questions/9377337/gradient-panel-shows-red-cross-when-minimized-and-then-restored – keyboardP
我們需要看看繪製漸變的代碼... –
我更新了現在這個信息的帖子。 keyboardP,是的,它的相關,但我沒有得到他在做什麼解決方案。我也用過Colorblend .. – Andres