0

どのアイテムをクリックしたかを確認しようとしています.1Wをクリックすると、そのテクスチャがクリックしたテクスチャに変わるという一種のインベントリを作成しています. これは私が作ったリストです。しかし、機能するコードが見つからないようです。

this.drivers = new List<Driver>()
                {
                    new Driver(this.game, this, new Vector2 (0, 62), "1W", "Images/Clubs/Drivers/1W", this.inventory),
                    new Driver(this.game, this, new Vector2 (62, 62), "2W", "Images/Clubs/Drivers/2W", this.inventory),
                    new Driver(this.game, this, new Vector2 (124, 62), "3W", "Images/Clubs/Drivers/3W", this.inventory),
                    new Driver(this.game, this, new Vector2 (186, 62), "4W", "Images/Clubs/Drivers/4W", this.inventory),
                    new Driver(this.game, this, new Vector2 (248, 62), "5W", "Images/Clubs/Drivers/5W", this.inventory),
                    new Driver(this.game, this, new Vector2 (310, 62), "6W", "Images/Clubs/Drivers/6W", this.inventory),
                    new Driver(this.game, this, new Vector2 (0, 124), "7W", "Images/Clubs/Drivers/7W", this.inventory)
                };

私はそれを見つけて名前を確認できることを知っています:

If ( name == "1W")
{
   //Do Something
}

ただし、7 つすべてをチェックしたい場合は、7 つの if ステートメントを取得し、このリストが 3 つあるため、if ステートメントは 21 個になります。

リストごとに1文で可能であることは知っていますが、コードを思い出せません!

誰かが私を助けてくれることを願っています!

4

2 に答える 2

0

selectedindexchanged次のイベントを作成するだけですlistbox:

this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1_SelectedIndexChanged);

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    var SelectedObject = this.drivers[listbox1.SelectedIndex];
    //now you can simply use it SelectedObject.Path or SelectedObject.Name or what ever property names you have
}
于 2013-07-21T15:32:19.533 に答える