Извините, если это было задано раньше.Вызов функции, которая включает PaintEventArgs при нажатии кнопки
Я работал над простой связью 4 в формах окон C#, так как раньше я не выполнял какую-либо работу с графикой. Для этого мне нужна программа для рисования кругов при нажатии кнопки, но я не знаю, как вызвать функцию для этого.
public void printToken(PaintEventArgs pe, int x)
{
Graphics g = pe.Graphics;
Pen blue = new Pen(Color.Blue);
Pen red = new Pen(Color.Red);
Rectangle rect = new Rectangle(50 + ((x-1) * 100), 50, 50, 50);
g.DrawEllipse(blue, rect);
}
private void button1_Click(object sender, EventArgs e)
{
printToken(null, 1);
}
Нуль на месте просто заполнитель, как очевидно, что это не сработает.
Любая помощь приветствуется.
Вы должны обрабатывать ** Paint() ** событие независимо от того, какой элемент управления вы хотите использовать, и использовать графику, предоставленную вам в этом случае, с помощью параметра 'e.Graphics'.Вы можете хранить информацию о том, что рисовать на уровне класса, а затем заставлять элемент управления рисовать себя, вызывая его метод Refresh(). –
Вы должны использовать событие Paint вашего контейнера или формы и использовать объект Graphic, который предоставляется от него. Чтобы обновить чертеж, вы просто вызываете Invalidate() в контейнере. В самом событии paint вы просто рисуете текущее состояние вещей, поэтому, если вам нужно нарисовать токен, ваша переменная или список нуждается в этой информации. – LarsTech
Я вроде понимаю, что вы все говорите, но я не знаю, как я намерен реализовать все это в коде. Я довольно новичок в этом типе вещей. –