0
이전에이 코드를 사용했고 완벽하게 작동했습니다. 내 창 형식 중 하나에서 동일한 을 사용하면 양식의 색상이 변경되지 않습니다.C에서 페인트 이벤트를 사용할 때의 문제점 #
페이지가로드 된 후 양식의 기본 색상이 표시됩니다. 하지만 아래 코드를 디버깅하려고하면 폼의 색상이 완벽하게 바뀝니다. 문제는 코드의 마지막 줄을 실행 한 후 양식의 색이 기본 색으로 돌아갑니다.
내가 누락 된 항목이 있습니까?
양식은 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);
}
귀하의 문제와 관련이 없지만 LinearGradientBrush 및 펜 –
@Mitch를 폐기해야합니다 (사용 문 사용). 이미 Class (System.Drawing.Drawing2D)를 사용 중입니다. – Anuya
Mitch는 사용하는 것이 무엇인지 생각합니다. 키워드는 (...) {...}을 사용하여 펜과 브러시 인스턴스를 자동으로 처리합니다. – cedrou