// De tekenmethode, hier gebruiken we weer de NewControl methode uit de FormFuncties om de label te maken public void teken(object o, PaintEventArgs pea) { tekst = new Label(); FormFuncties.NewControl <Label>(ref tekst, new Point(60, 40), new Size(360, 50), foutmeldingtekst); tekst.Font = new Font("Arial", 15); Controls.Add(tekst); // En daarnaast tekenen we een uitroepteken, en spelen het foutmeldingsgeluid af pea.Graphics.FillRectangle(Brushes.Red, new Rectangle(new Point(20, 30), new Size(10, 40))); pea.Graphics.FillRectangle(Brushes.Red, new Rectangle(new Point(20, 75), new Size(10, 10))); System.Media.SystemSounds.Hand.Play(); }
// De constructormethode public MainForm() { DoubleBuffered = true; this.Text = "Reversi"; this.FormBorderStyle = FormBorderStyle.FixedDialog; // Verstop de form, roep een NewGameForm aan om aan de user de gewenste grootte te vragen this.Hide(); Form nieuwspelform = new NewGameForm(6, 6); nieuwspelform.ShowDialog(); if (NewGameForm.buttonexit == false) { return; // Als de user die form wegklikt (ipv nieuwspel-knop), stop } // De volgende knoppen en labels worden gemaakt met behulp van een methode uit FormFuncties newgameb = new Button(); // De nieuw-spel-knop FormFuncties.NewControl <Button>(ref newgameb, new Point(10, 20), new Size(70, 20), "Nieuw Spel"); this.Controls.Add(newgameb); helpb = new Button(); // De help-knop FormFuncties.NewControl <Button>(ref helpb, new Point(85, 20), new Size(40, 20), "Help"); this.Controls.Add(helpb); roodl = new Label(); // De label die aangeeft hoeveel rode stenen op het veld liggen FormFuncties.NewControl <Label>(ref roodl, new Point(80, 60), new Size(60, 20), gamestate.RoodN + " stenen"); roodl.ForeColor = Color.Red; this.Controls.Add(roodl); blauwl = new Label(); // De label die aangeeft hoeveel blauwe stenen op het veld liggen FormFuncties.NewControl <Label>(ref blauwl, new Point(80, 90), new Size(60, 20), gamestate.BlauwN + " stenen"); blauwl.ForeColor = Color.Blue; this.Controls.Add(blauwl); beurtl = new Label(); // De label die aangieft wiens beurt het is FormFuncties.NewControl <Label>(ref beurtl, new Point(30, 110), new Size(160, 40), "Blauw is aan zet"); beurtl.ForeColor = beurtkleur; beurtl.Font = new Font("Arial", 12); this.Controls.Add(beurtl); this.newgameb.Click += nieuwspel; this.helpb.Click += togglehelp; this.MouseClick += klik; this.Paint += teken; gamestate.Initialise(); }
public NewGameForm(int xsize, int ysize) { this.Text = "Nieuw Spel!"; this.ClientSize = new Size(380, 80); tegenai = new CheckBox(); // De checkbox om aan te vinken of je tegen de AI wil spelen of niet tegenai.Location = new Point(240, 50); tegenai.Size = new Size(15, 15); this.Controls.Add(tegenai); // Hier volgen de initialisaties van de Buttons, Labels en Textboxes. gamesizexl = new Label(); // De label voor hoeveel kolommen de user wil FormFuncties.NewControl <Label>(ref gamesizexl, new Point(20, 10), new Size(200, 20), "Hoeveel kolommen volgend spel?"); this.Controls.Add(gamesizexl); gamesizeyl = new Label(); // De label voor hoeveel rijen de user wil FormFuncties.NewControl <Label>(ref gamesizeyl, new Point(20, 30), new Size(200, 20), "Hoeveel rijen volgend spel?"); this.Controls.Add(gamesizeyl); tegenail = new Label(); // De label die vraagt of de user tegen de computer wil spelen FormFuncties.NewControl <Label>(ref tegenail, new Point(20, 50), new Size(220, 20), "Wil je dit potje tegen de computer spelen?"); this.Controls.Add(tegenail); gamesizexbox = new TextBox(); // De textbox waar kan worden ingevoerd hoeveel kolommen de user wil FormFuncties.NewControl <TextBox>(ref gamesizexbox, new Point(240, 7), new Size(40, 20), Convert.ToString(xsize)); this.Controls.Add(gamesizexbox); gamesizeybox = new TextBox(); // De textbox waar kan worden ingevoerd hoeveel rijen de user wil FormFuncties.NewControl <TextBox>(ref gamesizeybox, new Point(240, 27), new Size(40, 20), Convert.ToString(ysize)); this.Controls.Add(gamesizeybox); nieuwspel = new Button(); // En als laatst de knop om het nieuwe spel te starten FormFuncties.NewControl <Button>(ref nieuwspel, new Point(290, 17), new Size(80, 40), "Nieuw Spel"); this.Controls.Add(nieuwspel); this.nieuwspel.Click += newgame; this.FormClosed += stopform; }