public Form1()
{
InitializeComponent();
}
Point point1 = new Point(20, 20);
private void Form1_Load(object sender, EventArgs e)
{
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = this.CreateGraphics();
Rectangle rectangle = new Rectangle(point1, new Size(30, 30));
Pen pen1 = new Pen(Color.Red);
g.DrawEllipse(pen1, rectangle);
}
private void button1_Click(object sender, EventArgs e)
{
point1 = new Point(20, 40);
Invalidate(); //调用Invalidate方法,实现重绘
}
上面是一个简单的调用Invalidate方法实现重绘的代码,我想问:
上面例子是form1_paint事件,如果想实现panel1_Paint事件,该怎么做呢?如果Form1中有多个paint事件,Invalidate是调用的哪个paint事件呢?
{
InitializeComponent();
}
Point point1 = new Point(20, 20);
private void Form1_Load(object sender, EventArgs e)
{
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = this.CreateGraphics();
Rectangle rectangle = new Rectangle(point1, new Size(30, 30));
Pen pen1 = new Pen(Color.Red);
g.DrawEllipse(pen1, rectangle);
}
private void button1_Click(object sender, EventArgs e)
{
point1 = new Point(20, 40);
Invalidate(); //调用Invalidate方法,实现重绘
}
上面是一个简单的调用Invalidate方法实现重绘的代码,我想问:
上面例子是form1_paint事件,如果想实现panel1_Paint事件,该怎么做呢?如果Form1中有多个paint事件,Invalidate是调用的哪个paint事件呢?
public Form1()
{
InitializeComponent();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
}
private void button9_Click(object sender, EventArgs e)
{
......
Invalidate();//这里怎么不能调用panel1_Paint事件呢?
}
如何调用panel1_Paint事件
也就是form的Invalidate
想调用panel的试试panel1.Invalidate()