Страницы

Поиск по вопросам

воскресенье, 26 мая 2019 г.

Нарисованная фигура не соответствует заданным координатам

В общем, проблема такова, при нажатии на 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); }
В итоге при нажатии на разные места панели получаются разные фигуры

Как видно, фигуру растягивает и увеличивает в размере. Что можно сделать, чтобы исправить эту ошибку?


Ответ

g.DrawRectangle(..., ..., ..., width, height);
то есть
g.DrawRectangle(BlackPen, Location.X, Location.Y, 80, 80);

Комментариев нет:

Отправить комментарий