Blackhawk50000
Erfahrenes Mitglied
Zuerst mal die Erklährung.
Es ist eigentlich schnell gesagt, ich erzeige in einer (besser gesagt zwei) Schleifen einige Buttons mit Name und Position und Größe und auch einem Event.
Dieses Event ist natürlich dann nur einmal da und für jeden Button gleich. Wie mache ich es nun, dass ich für jeden Button einzeln anspreche
Zur zeit ist es so, das nur der zuletzt erstellte Button bearbeitet wird. Egal auf welchen ich klicke.
hiuer der Code
Es ist eigentlich schnell gesagt, ich erzeige in einer (besser gesagt zwei) Schleifen einige Buttons mit Name und Position und Größe und auch einem Event.
Dieses Event ist natürlich dann nur einmal da und für jeden Button gleich. Wie mache ich es nun, dass ich für jeden Button einzeln anspreche
Zur zeit ist es so, das nur der zuletzt erstellte Button bearbeitet wird. Egal auf welchen ich klicke.
hiuer der Code
C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace MyMineSweeper
{
public partial class Form1 : Form
{
#region Deklarationen
private string[] _Reihe = new string[6] { "A", "B", "C", "D", "E", "F" };
private int[] _Spalte = new int[6] { 1, 2, 3, 4, 5, 6 };
private int _Groesse = 50;
private string _PositionY = string.Empty;
private string _PositionX = string.Empty;
private string _currentButton;
Button b_Feld;
#endregion
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ButtonsErzeugen();
}
private void ButtonsErzeugen()
{
for (int z = 0; z < 6; z++)
{
_PositionY = _Reihe[z];
for (int s = 0; s < 6; s++)
{
_PositionX = _Spalte[s].ToString(); ;
b_Feld = new Button();
b_Feld.Name = _PositionX + _PositionY;
b_Feld.Location = new Point(z * _Groesse, s * _Groesse);
b_Feld.Size = new Size(_Groesse, _Groesse);
b_Feld.Parent = this;
b_Feld.CreateControl();
b_Feld.MouseClick += new MouseEventHandler(b_Feld_MouseClick);
}
}
}
void b_Feld_MouseClick(object sender, MouseEventArgs e)
{
b_Feld.BackColor = Color.Black;
}
}
}