Hallo,
In meinem Programm lasse ich Buttons zur Laufzeit erstellen. Dies geschieht bei Klick auf einen anderen Button wie folgt:
Momentan befinden sich 3 Einträge in der Datei "fahrzeugliste", also werden 3 Buttons erstellt. Das funktioniert auch wunderbar. Die 3 Buttons heißen nach der Erstellung:
-btnFahrzLF8/6
-btnFahrzTLF16/24
-btnFahrzMTF
Im Eventhandler "btnOnClick" will ich nun überprüfen, welcher (der momentan 3) Button das Ereignis ausgelöst hat. Eigentlich würde dies über die Abfrage:
Das funktioniert aber nicht, weil der Compiler anmeckert: >>>Der Name "btnFahrzLF8/6" ist im aktuellen kontext nicht vorhanden.<<<
Was ist zu tun, damit ich überprüfen kann, welcher Button das Ereignis ausgelöst hat?
Danke.
In meinem Programm lasse ich Buttons zur Laufzeit erstellen. Dies geschieht bei Klick auf einen anderen Button wie folgt:
Code:
fs = File.Open(fahrzeugliste, FileMode.Open, FileAccess.Read, FileShare.None);
using (StreamReader zeile = new StreamReader(fs, Encoding.Unicode))
{
int multi = 1;
datenzeile = zeile.ReadLine();
while (datenzeile != null)
{
btn = new Button(); //Objekt der Klasse "Button" erstellen
btn.Name = "btnFahrz" + datenzeile; //dem Objekt einen Namen zuweisen
btn.Text = datenzeile; //dem Objekt eine Beschriftung zuweisen
btn.BackColor = Color.Transparent; //Hintergrundfarbe des Objektes
pnlFahrzNavi.Controls.Add(btn); //Objekt dem Elternelement zuweisen
btn.Left = 6; //linker Abstand zum Elternelement
btn.Top = 50 * multi; //Abstand nach oben zum vorherigen Objekt
btn.Width = 137; //Länge des Buttons
btn.Height = 23; //Höhe des Buttons
btn.Tag = datenzeile; //Zuweisung der Tag-Proberty
EventHandler eh = new EventHandler(btnOnClick); //Eventhandler-Objekt erstellen
btn.Click += eh; //dem Button den Eventhandler zuweisen
multi++; //Zählervariable inkrementieren
datenzeile = zeile.ReadLine(); //neue Datenzeile einlesen
}
}
Momentan befinden sich 3 Einträge in der Datei "fahrzeugliste", also werden 3 Buttons erstellt. Das funktioniert auch wunderbar. Die 3 Buttons heißen nach der Erstellung:
-btnFahrzLF8/6
-btnFahrzTLF16/24
-btnFahrzMTF
Im Eventhandler "btnOnClick" will ich nun überprüfen, welcher (der momentan 3) Button das Ereignis ausgelöst hat. Eigentlich würde dies über die Abfrage:
Code:
public void btnOnClick(object sender, EventArgs e)
{
if (sender==btnFahrzLF8/6)
{
label30.Text = "LF8";
}
else
{
label30.Text = "hat nicht geklappt";
}
}
Das funktioniert aber nicht, weil der Compiler anmeckert: >>>Der Name "btnFahrzLF8/6" ist im aktuellen kontext nicht vorhanden.<<<
Was ist zu tun, damit ich überprüfen kann, welcher Button das Ereignis ausgelöst hat?
Danke.