#c_sharp #winforms #graphics
В общем, проблема такова, при нажатии на panel создается объект Block и происходит его отрисовка: private void DrawingPanel_Click(object sender, EventArgs e) { Point ptr = PointToClient(Cursor.Position); ptr.X -= DrawingPanelOffset.X; ptr.Y -= DrawingPanelOffset.Y; b = new Block(0, "Class", "Model", ptr); DrawingPanel.Invalidate(); } private void DrawingPanel_Paint(object sender, PaintEventArgs e) { if (b != null) b.Draw(e.Graphics); } Непосредственно код блока public void Draw(Graphics g) { Pen BlackPen = new Pen(Color.Black, 4); g.DrawRectangle(BlackPen, Location.X, Location.Y, Location.X + 80, Location.Y + 80); } В итоге при нажатии на разные места панели получаются разные фигуры Как видно, фигуру растягивает и увеличивает в размере. Что можно сделать, чтобы исправить эту ошибку?
Ответы
Ответ 1
g.DrawRectangle(..., ..., ..., width, height); то есть g.DrawRectangle(BlackPen, Location.X, Location.Y, 80, 80);
Комментариев нет:
Отправить комментарий