Windows forms c# drawing

В методе, который считывает клавиши, есть вызов метода Paint из класса Clefs(этот метод должен рисовать текстуру 30х30).
class G
{
private void Labyrinth_KeyDown(object sender, KeyEventArgs keystroke)
{
Clefs.Paint();
}
}

class Clefs
{
public static void Paint()
{
e.Graphics.DrawImage(image, 30, 30, 30, 30);
}
}

Мне надо, чтобы Paint получал PaintEventArgs e, только вот я не знаю, как его передать?

И где бы еще взять их, в KeyDown-то.

И вообще, нужен PictureBox, иначе при перетаскивании формы все нарисованное будет исчезать…

Совсем не так просто, как кажется. Вот так.

private void button1_Click(object sender, EventArgs e)
{
var bmp = new Bitmap(pictureBox1.Width, pictureBox1.Height);
var g = Graphics.FromImage(bmp);
{
Paint(ref g);
}
g.Dispose();
pictureBox1.Image = bmp;
}

void Paint(ref Graphics g)
{
g.DrawLine(Pens.Black, 0, 0, 100, 100);
}

Добавить комментарий