using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace GamePanel
{publicclassClickEventHandler:EventArgs{publicint index =0;publicstring name ="";}publicclassGameData{publicstatic List<string> ButtonContainer =newList<string>{"button1","button2","button3","button4"};}}
publicvoidInitialized(){foreach(Control item inthis.panel1.Controls){//Console.WriteLine(item.Name);if(item is Button){for(int i =0; i <4; i++){if(item.Name.ToLower().Contains(GameData.ButtonContainer[i])){
buttons.Add(item as Button, i);ClickEventHandler clickEvent =newClickEventHandler();
clickEvent.index = i;
clickEvent.name = item.Name;
Console.WriteLine(i);
item.Click +=newEventHandler((send, args)=>{mEventHandler(send, clickEvent);});
item.MouseHover +=newEventHandler((send, args)=>{ item.BackColor = Color.White;});}}}}//初始化mEventHandler(newobject(),newClickEventHandler(){ index =0});
Update.Enabled =true;
Update.Start();}//回調方法voidmEventHandler(object sender,ClickEventHandler e){
textBox1.Text = $"name: {e.name} index: {e.index} ";foreach(KeyValuePair<Button,int> item in buttons){if(e.index == item.Value){
item.Key.Image = imageList1.Images[0];}else{
item.Key.Image = imageList1.Images[1];}}}