привет, я пытаюсь реализовать форму, которая изменяет размеры, используя кодирование.Я использовал метод form_paint, чтобы нарисовать границу, но я не могу «закрасить» эту границу.То, что я намерен сделать, - то, что, поскольку я изменяю размер формы, используя таймер для "плавного изменения размера", граница формы будет обновляться вместе с изменением размера.что мне делать?
Pen setupControlPen = new Pen(SystemColors.Control, 16);
Pen setupDimGrayPen = new Pen(Color.DimGray, 5);
внутри моего form_paint: // рисует границу формы
Rectangle newRectangle;
newRectangle = new Rectangle(new Point(0, 0), new Size(this.Width - 1, this.Height - 1));
setupGraphics.DrawRectangle(setupDimGrayPen, newRectangle);
внутри события click: // я пытался нарисовать поверх уже нарисованной границы.
Rectangle newRectangle = new Rectangle(new Point(0, 0), new Size(this.Width - 1, this.Height - 1));
setupGraphics.DrawRectangle(setupControlPen, newRectangle);
спасибо!
обновление: я пытался использовать событие resize_form и таймер для перерисовки, но все еще не могу перерисовать границу всякий раз, когда я изменяю размер формы.
обновление 2: метод переопределения работает!Что касается setupGraphics:
//global space
Graphics setupGraphics;
//form_load
setupGraphics = this.CreateGraphics();
//so whenever I want to draw something during an event, supposing a button click event to draw a line:
setupGraphics.DrawLine(pen, point1, point2);
Я хотел бы спросить, есть ли недостатки в этом методе?или все должно быть сделано внутри метода form_paint?