我在使用渐变绘图调用时遇到问题。我有一个看起来像这样的表单。渐变绘图错误
Screenshot http://img413.imageshack.us/img413/3570/30364682.png
的问题是现在每一次上述渐变,用于绘制错误就会开始发生。当然,它应该是正确的。有时只需要一些构建 - 重建 - 混搭来修复,并且在构建完成后,它只是简单地“开始”。
该控件(顶部白色部分)是TableLayoutPanel
。该BackColor
设置为白色,并在面板的Paint
事件我这样做:
/// <summary>
/// Draws the background gradient.
/// </summary>
private void titleBarLayoutPanel_Paint(object sender, PaintEventArgs e)
{
Brush brush = new LinearGradientBrush(titleBarLayoutPanel.Bounds, TaskHeaderLeftColor, TaskHeaderRightColor, LinearGradientMode.Horizontal);
e.Graphics.FillRectangle(brush, titleBarLayoutPanel.Bounds);
}
我应该做别的事情?问题是,它的工作原理,然后没有重建或建立这将开始发生!
编辑我已经重建了它所包含的类库(它是一个通用的表单),然后重新构建了它所用的应用程序,并且渐变现在完全填满了。这是奇怪的。
这工作正常。我意识到重建不会改变代码的行为方式,但是在几个构建之间间歇性地工作/出错仍然很奇怪。 – 2010-06-04 04:46:35
原来它现在再做一次!没有那么多的第二天开放项目,并运行它。 /哭声。 – 2010-06-08 04:16:49
我改变了'FillRectangle'调用以使用'e.ClipRectangle'。它现在正在工作,但我不确定是否修复它。 – 2010-06-08 04:35:17