- 締切済み
【C#】インデックス番号(?)の取得
いつもお世話になってます。 C#に関して質問です。 VisualC#2008を使用しています。 private System.Windows.Forms.PictureBox[] kihon_pic = new PictureBox[100]; のように、ピクチャーボックスのコントロール配列を作り、あるピクチャーボックスがクリックされたときに、そのピクチャーボックスのインデックス番号(?)を取得できるようにしたいと思っています。 例えば、クリックされたピクチャーボックスはkihon_pic[4]であるとか、kihon_pic[7]であるとか、そういった具合にです。 誰か方法が分かる人がいましたら、ご回答をよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- reset_cat
- ベストアンサー率68% (94/138)
たとえばこんなような感じですかね? private PictureBox[] pictArray = new PictureBox[100]; public Form1() { InitializeComponent(); PictureBox pict; int nIdx = 0; while (nIdx < pictArray.Length) { pict = new PictureBox(); pictArray[nIdx] = pict; pict.Click += new EventHandler(pict_Click); nIdx++; } } private void pict_Click(object sender, EventArgs e) { PictureBox pict; int nIdx = pictArray.Length - 1; while (nIdx >= 0) { pict = pictArray[nIdx]; if (pict == sender) { break; } nIdx--; } // nIdxが0以上なら該当インデックス // nIdxが0未満なら該当なし }
- bluecampus
- ベストアンサー率66% (138/209)
PictureBoxのTagプロパティにインデックスを仕込んでおくのはどうでしょうか?
お礼
ご回答ありがとうございます。 勉強になりました。
お礼
ご回答ありがとうございます。 参考にしながらプログラムしています。 if (pict == sender) { break; } の(pict == sender)の意味が良く分からないのですが 教えていただけないでしょうか?