Klicken Sie auf Ereignisse unter Anordnung der Schaltflächen
Wie kann ich den Namen des Objekts ermitteln, auf das ich zuletzt in einem Bereich geklickt habe? Der Trick ist, dass es eine große Anzahl von Schaltflächen auf dem Bedienfeld gibt (btn [1] ... btn [200]). Wie kann ich überprüfen, ob ich auf die Schaltfläche b [180] oder b [11] oder sogar außerhalb des Panels geklickt habe (keine Schaltfläche)? Auch die Buttons werden beim Laden der Seite per Codierung generiert. Vielen Dank. Anna
EDIT: Danke! Ein weiteres Problem, das auftrat (dies erzeugte eine NULL-Objektreferenz): Ich habe eine Methode auf derselben Ebene wie buttonHandler (), sie heißt HowManyClicked () und wird von buttonHandler () aus aufgerufen. In HowManyClicked () möchte ich Button btn1 = Panel2.FindControl (x) als Button identifizieren. Dabei ist x beispielsweise buttonArray [2,3]. Aber ich bekomme immer NULL.Ist das Schaltflächenarray buttonArray aus der Methode, die es generiert hat, nicht anhand des Namens identifizierbar???
public void buttonHandler(object sender, EventArgs e)
{
Button btn = sender as Button;
//string tt = btn.ToolTip.ToString();
btn.BackColor = Color.Red;
statusL.Text = HowManyClicked().ToString();
}
public int HowManyClicked()
{
int sum=0;
for (int a = 0; a < 10; a++)
for (int b = 0; b < 14; b++)
{
string x = "buttonArray[" + a + ", " + b + "]";
statusL.Text = x;
Button btn1 = Panel2.FindControl(x) as Button;
if (btn1.BackColor == Color.Red) sum += 1;
}
return sum;
}