我有点击启动的事件功能,其中有一个图形说明
private void pictureBox1_Click(object sender, EventArgs e)
{
switch (modCLick)
{
case 2:
session.g.FillRectangle(Brushes.Tomato, MousePosition.X, MousePosition.Y, 50, 100);
break;
}
ModCLick = 1;
}
当我启动程序时,单击不执行任何操作,但如果我按下某个键(仅限某些键),则更改将应用(我可以看到矩形)。为什么不正确更新? PS:不要担心案件指示。
答案 0 :(得分:0)
将图形实例存储在全局变量中是一个非常糟糕的想法。让它看起来像这样:
using (var g = Graphics.FromImage(pictureBox1.Image)) {
g.FillRectangle(Brushes.Tomato, MousePosition.X, MousePosition.Y, 50, 100);
pictureBox1.Invalidate();
}
Invalidate()调用是您要查找的调用。 PictureBox只能告诉您更改了Image属性,它无法告诉您更改了图像内容。