パネルで最後にクリックされたオブジェクトの名前を取得するにはどうすればよいですか? トリックは、パネルにボタンの大きな配列があることです (btn[1] ... btn [200])。ボタン b[180]、b[11]、またはパネルの外側 (ボタンなし) をクリックしたかどうかを確認するにはどうすればよいですか? また、ボタンはページの読み込み時にコーディングによって生成されます。ありがとうございました。アンナ
編集:ありがとう!発生した別の問題 (これにより NULL オブジェクト参照が生成されました): buttonHandler() と同じレベルのメソッドがあり、HowManyClicked() という名前が付けられ、buttonHandler() 内から呼び出されます。HowManyClicked() 内で、Button btn1 = Panel2.FindControl(x) を Button; として識別したいと思います。x は、たとえば、buttonArray[2,3] です。しかし、私は常にNULLを取得します。ボタン配列 buttonArray は、それを生成したメソッドから一度名前で識別できませんか??
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;
}