之前我使用过以下代码并且工作正常。当我使用相同的 在我的一个窗口形式中,表单的颜色没有变化。
我的意思是在页面加载后显示表单的默认颜色。但是当我尝试调试下面的代码时,它会完美地改变表单的颜色。问题是,在执行代码的最后一行后,表单的颜色会恢复为默认颜色。
我错过了什么吗?
表单看起来像一个Windows任务栏,里面有一个制表符控件。
private void TaskBar_Paint(object sender, PaintEventArgs e)
{
Graphics mGraphics = e.Graphics;
Pen pen1 = new Pen(Color.FromArgb(96, 155, 173), 1);
Rectangle Area1 = new Rectangle(0, 0, this.Width - 2, this.Height - 2);
LinearGradientBrush LGB = new LinearGradientBrush(Area1,
Color.FromArgb(96, 155, 173),
Color.FromArgb(245, 251, 251),
LinearGradientMode.Vertical);
mGraphics.FillRectangle(LGB, Area1);
mGraphics.DrawRectangle(pen1, Area1);
}
答案 0 :(得分:1)
这里没什么可做的。这个处理程序附加了什么? Form的Paint事件?如果是这样,您应该重写OnPaint()而不是附加到处理程序。我的猜测是,其他一些方法也在做一些绘画。你需要跟踪它。没有更多代码,这里的任何人都不太可能帮助你。遗憾。