У меня есть в моих ресурсах изображения с именами: {1.jpg, 2.jpg, ............., 30.jpg} и у меня есть Кнопки {btn1, btn2, ............., btn30} все, что я хочу сделать, это поставить пример изображения 1.jpg в панели, щелкнув btn1 ... то же самое касается изображения2 для btn2 ..till изображения 30 для btn30 в одной и той же панели это то, что я писал в моем коде ...Не могу получить индекс нажатой кнопки
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Button[] buttons = { btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9, btn10, btn11, btn12, btn13, btn14, btn15, btn16, btn17, btn18, btn19, btn20, btn21, btn22, btn22, btn23, btn24, btn25, btn26, btn27, btn28, btn29, btn30 };
//did this becz couldnt fill the array buttons with a for loop...hope if u know to tell me how
for(int i=0;i<30;i++) buttons[i].Click += myEventHandler;
}
void myEventHandler(object sender, EventArgs e)
{
Button button = sender as Button;
for(int i=0;i<30;i++)
{
if (sender.Equals ////howw to get the index of the button
}
Bitmap b=new Bitmap(myProject.Properties.Resources //how to apply the index of the button in getting the name of the image;
panel2.BackgroundImage=b;
}
}
Я не вижу никакого другого пути, как просто, как поиск вашего массива для тех, которые имеют то же имя, что и переданное в ... Я думаю, что я использовал бы лямбда-инструкцию в вашем цикле for и общий метод ChangeImage. – JamJar00
Я думаю, вы могли бы использовать свойство тега кнопки. btn1 = новая кнопка {Tag = "1.jpg"}; –
И затем получите имя изображения в обработчике события с этим свойством –