У меня есть 3 графических блока, которые содержат изображение из строки списка. Есть кнопка, которая проходит через каждый элемент в строке списка, которая, в свою очередь, обновляет 3 графических блока, графические блоки, которые содержат 3 изображения: picturebox3, 4 и 5. Я добавил событие мыши, которое срабатывает, как только мышьна изображении, чтобы развернуть изображение в другой картинке, которая скрыта до тех пор, пока мышь не окажется над ним. я создал 3 дополнительных ящика с картинками, которые являются pictureBox6, 7 и 8, чтобы показать увеличенное изображение, относящееся к картинкам box3, 4 и 5. picturebox 6 относится к 3, picturebox 7 относится к 4, а 8 относится к 5. Я пыталсяустановите picturebox равным нулю после того, как мышь выключит изображение, однако это не сработало. Ниже приведен код для изображения в картинках 3, 4 и 5, которое будет обновляться при прохождении по списку, а также включает триггеры событий.
download_file_names [] = имя файла ".jpg" match_image_for_Processing [intIndex]= папка, в которой хранится файл
Перечисленные выше переменные меняются по мере того, как я прохожу список, поэтому я знаю, что это работает
Я попытался установить для Picturebox значение NULL после отключения мыши. Однако изображение, которое не сработало.
Ниже приведен код для изображения в картинках 3, 4 и 5, которое будет обновляться при прохождении по списку, а также включает триггеры событий.
if (download_file_names.ElementAtOrDefault(0) != null)
{
pictureBox3.Image = new Bitmap(Environment.CurrentDirectory + "\\" + "temp_data" + "\\" + matching_image_for_Processing[intIndex] + "\\" + download_file_names[0]);
pictureBox3.MouseHover += new EventHandler((sender2, e2) => pictureBox3_Mouse(sender2, e2, download_file_names[0], matching_image_for_Processing[intIndex]));
pictureBox3.MouseLeave += new EventHandler(pictureBox3_MouseLeave);
}
else
{
pictureBox3.Image = new Bitmap(Environment.CurrentDirectory + "\\" + "NoImage.bmp");
}
if (download_file_names.ElementAtOrDefault(1) != null)
{
pictureBox4.Image = new Bitmap(Environment.CurrentDirectory + "\\" + "temp_data" + "\\" + matching_image_for_Processing[intIndex] + "\\" + download_file_names[1]);
pictureBox4.MouseHover += new EventHandler((sender2, e2) => pictureBox4_Mouse(sender2, e2, download_file_names[1], matching_image_for_Processing[intIndex]));
pictureBox4.MouseLeave += new EventHandler(pictureBox4_MouseLeave);
}
else
{
pictureBox4.Image = new Bitmap(Environment.CurrentDirectory + "\\" + "NoImage.bmp");
}
if (download_file_names.ElementAtOrDefault(2) != null)
{
pictureBox5.Image = new Bitmap(Environment.CurrentDirectory + "\\" + "temp_data" + "\\" + matching_image_for_Processing[intIndex] + "\\" + download_file_names[2]);
pictureBox5.MouseHover += new EventHandler((sender2, e2) => pictureBox5_Mouse(sender2, e2, download_file_names[2], matching_image_for_Processing[intIndex]));
pictureBox5.MouseLeave += new EventHandler(pictureBox5_MouseLeave);
}
else
{
pictureBox5.Image = new Bitmap(Environment.CurrentDirectory + "\\" + "NoImage.bmp");
}
ниже приведен код для других ящиков для отображения увеличенного изображения.
void pictureBox3_Mouse(object sender, EventArgs e, string catching, string catching2)
{
pictureBox6.Visible = true;
pictureBox6.Image = new Bitmap(Environment.CurrentDirectory + "\\" + "temp_data" + "\\" + catching2 + "\\" + catching);
Console.WriteLine("temp_data" + "\\" + catching2 + "\\" + catching);
pictureBox6.Refresh();
}
void pictureBox3_MouseLeave(object sender, EventArgs e)
{
pictureBox6.Visible = false;
pictureBox6.Image = null;
pictureBox6.Refresh();
}
void pictureBox4_Mouse(object sender, EventArgs e, string catching_1, string catching2_1)
{
pictureBox7.Visible = true;
pictureBox7.Image = new Bitmap(Environment.CurrentDirectory + "\\" + "temp_data" + "\\" + catching2_1 + "\\" + catching_1);
pictureBox7.Refresh();
}
void pictureBox4_MouseLeave(object sender, EventArgs e)
{
pictureBox7.Visible = false;
pictureBox7.Image = null;
pictureBox7.Refresh();
}
void pictureBox5_Mouse(object sender, EventArgs e, string catching_2, string catching2_2)
{
pictureBox8.Visible = true;
pictureBox8.Image = new Bitmap(Environment.CurrentDirectory + "\\" + "temp_data" + "\\" + catching2_2 + "\\" + catching_2);
pictureBox8.Refresh();
}
void pictureBox5_MouseLeave(object sender, EventArgs e)
{
pictureBox8.Visible = false;
pictureBox8.Image = null;
pictureBox8.Refresh();
}
Я надеюсь, что кто-то может помочь мне решить эту проблему, когда я перейду к следующему элементу в списке и наведу курсор мыши на новыйimage Я получаю сообщение об ошибке. Параметр недействителен. Я полагаю, что Picturebox содержит предыдущую переменную.