Pokud vytváříte tlačítka dynamicky tak je asi nejjednodušší zpusob s Tag. Pokud chcete kontrolovat jen vybraná tlačítka na formuláři lze použít např. toto:
private readonly Dictionary<Button, bool> _kolekceStisknute;
public Form1()
{
InitializeComponent();
_kolekceStisknute = new Dictionary<Button, bool>();
//Přihlášení událostí
button1.Click += OnButtonClick;
button2.Click += OnButtonClick;
button3.Click += OnButtonClick;
button4.Click += OnButtonClick;
button5.Click += OnButtonClick;
button6.Click += OnButtonClick;
//Kontrolovaná tlačítka
_kolekceStisknute.Add(button1, false);
_kolekceStisknute.Add(button2, false);
_kolekceStisknute.Add(button3, false);
_kolekceStisknute.Add(button4, false);
_kolekceStisknute.Add(button5, false);
_kolekceStisknute.Add(button6, false);
}
//Událost stisknutí tlačítka
void OnButtonClick(object sender, EventArgs e)
{
var btn = sender as Button;
if (btn == null) return;
//pokud není tlačítko ve slovníku (nechci ho kontrolovat) -> return;
if (!_kolekceStisknute.ContainsKey(btn)) return;
if (!_kolekceStisknute[btn])
{
//tlačítko je stisknuto poprvé
_kolekceStisknute[btn] = true;
label1.Text = string.Format("Tlačítko {0} je stisknuto poprvé.", btn.Name);
}
else
{
//tlačítko již bylo stisknuto
label1.Text = string.Format("Tlačítko {0} již bylo stisknuto.", btn.Name);
}
}
|