Hallo allemaal,
Ik ben C# aan het leren en stuit op een vervelend probleem. Ik kan een label niet veranderen, en wanneer ik er een textbox van maak wil hij maar één keer updaten (na een muisklik). In onderstaande code gebruik ik een textbox en update hij de text dus maar 1 keer. Hij moet hem elke keer dat er wordt geklikt updaten.
En nu wil ik eigenlijk een label gebruiken, maar die wil hij helemaal niet updaten! Ik heb ook gebprobeerd een programma aan te maken met enkel een label, en deze up te daten op het MouseClick event, maar dat wil maar niet werken..
Alvast bedankt
edit: Oh en het gaat om label_zet uiteraard.
Ik ben C# aan het leren en stuit op een vervelend probleem. Ik kan een label niet veranderen, en wanneer ik er een textbox van maak wil hij maar één keer updaten (na een muisklik). In onderstaande code gebruik ik een textbox en update hij de text dus maar 1 keer. Hij moet hem elke keer dat er wordt geklikt updaten.
Code:
using System.Windows.Forms;
using System.Drawing;
using System;
class ReversiForm : Form
{
private TextBox label_zet;
public int [,] playground = new int[6,6];
int x = 0;
int y = 0;
int turn = 1;
public ReversiForm()
{
this.Text = "Reversi";
this.BackColor = Color.White;
this.Size = new Size(600, 600);
this.Paint += InitializeComponent;
this.MouseClick += this.mouseClick;
}
private void InitializeComponent(object o, PaintEventArgs pea)
{
for (int i = 0; i < 7; i++)
{
pea.Graphics.DrawLine(Pens.Black, 20 + 50 * i, 200, 20 + 50 * i, 500);
pea.Graphics.DrawLine(Pens.Black, 20, 200 + 50 * i, 320, 200 + 50 * i);
}
this.label_zet = new TextBox();
this.label_zet.Location = new Point(20, 20);
this.label_zet.Name = "label";
this.label_zet.Size = new Size(120, 20);
this.label_zet.Text = "Player " + turn + " can go now";
this.Controls.Add(this.label_zet);
// Stones
pea.Graphics.FillEllipse(Brushes.Red, 100, 80, 50, 50);
pea.Graphics.FillEllipse(Brushes.Blue, 100, 140, 50, 50);
// Draw stones
for (int i = 0; i < 6; i++)
{
for (int t = 0; t < 6; t++)
{
if (playground[i, t] == 1)
{
pea.Graphics.FillEllipse(Brushes.Red, 20 + 50 * i, 200 + 50 * t, 50, 50);
}
if (playground[i, t] == 2)
{
pea.Graphics.FillEllipse(Brushes.Blue, 20 + 50 * i, 200 + 50 * t, 50, 50);
}
}
}
}
public void mouseClick(object o, MouseEventArgs mea)
{
x = mea.X;
y = mea.Y;
if (x > 20 && x < 320 && y > 200 && y < 500)
{
for (int i = 0; i < 6; i++)
{
if (x > 20 + 50 * i && x < 20 + 50 * (i + 1))
{
for (int t = 0; t < 6; t++)
{
if (y > 200 + 50 * t && y < 200 + 50 * (t + 1))
{
playground[i, t] = turn;
if (turn == 1) turn = 2;
else turn = 1;
this.label_zet.Text = "Player " + turn + " can go now";
Invalidate();
}
}
}
}
}
}
}
class Reversi
{
static void Main()
{
ReversiForm scherm;
scherm = new ReversiForm();
Application.Run(scherm);
}
}
En nu wil ik eigenlijk een label gebruiken, maar die wil hij helemaal niet updaten! Ik heb ook gebprobeerd een programma aan te maken met enkel een label, en deze up te daten op het MouseClick event, maar dat wil maar niet werken..
Alvast bedankt

edit: Oh en het gaat om label_zet uiteraard.
Laatst bewerkt: