我有一个小的初学者问题,我有一个 buttonclick 事件,我希望该事件在 form1_paint 中初始化一个绘画事件。我有一个 Oversteekplaats 类,有 2 个绘画事件,一个叫做 teken1,另一个叫做 teken2。在 Form1_paint teken1 已经初始化。当您单击 Button1 时,通过一个布尔值更改,我希望它重新绘制 form1_paint。
代码:
public Form1()
{
InitializeComponent();
// Opdracht 1
rood = new FietsLamp(Color.Red, 10, 10, 60);
oranje = new VoetgangerLamp(Color.Orange, 120, 10, 60);
rood.Status = LampStatus.Aan;
oranje.Status = LampStatus.Aan;
// Opdracht 2
stoplicht = new Stoplicht(10, 120, 130, 280);
// Opdracht 3
voetgangerlicht = new VoetgangerStoplicht(150, 120, 130, 195);
fietslicht = new FietsStoplicht(290, 120, 130, 195);
// Opdracht 5 (teken oversteekplaats en zebrapad voor voetganger)
oversteekplaats1 = new Oversteekplaats(650, 10, 200, 200);
oversteekplaats2 = new Oversteekplaats(650, 210, 200, 200);
oversteekplaats3 = new Oversteekplaats(650, 410, 200, 200);
oversteekplaats4 = new Oversteekplaats(450, 210, 200, 200);
oversteekplaats5 = new Oversteekplaats(850, 210, 200, 200);
}
private void button1_Click(object sender, EventArgs e)
{
if (voetganger == false)
{
voetganger = true;
}
if (voetganger == true)
{
voetganger = false;
}
}
public void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
// Opdracht 1 graphics
rood.Teken(e.Graphics);
oranje.Teken(e.Graphics);
// Opdracht 2 graphics
stoplicht.Teken(e.Graphics);
// Opdracht 3 graphics
voetgangerlicht.Teken(e.Graphics);
fietslicht.Teken(e.Graphics);
// Opdracht 5 graphics
oversteekplaats1.Teken1(e.Graphics);
oversteekplaats2.Teken1(e.Graphics);
oversteekplaats3.Teken1(e.Graphics);
oversteekplaats4.Teken1(e.Graphics);
oversteekplaats5.Teken1(e.Graphics);
if (voetganger == true)
{
oversteekplaats4.Teken2(e.Graphics, 120);
}
}