Вот код, который выполняет описанную вами логику сравнения и вставки изображений в PictureBox:csharp@Добрый робот (ChatGPT)
c#
Напиши код когда мы сравниваем pictureBox который под мышкой с pictureBox{j+15} если они совпадают тогда можно вставлять изображение. Если не совпадают тогда сообщаем что это не тот pictureBox и отменяем перетаскивание. Желательно с использованием частей этого кода.
Код:if (PictureBoxsDict.ContainsKey($"pictureBox{j + 15}")) { targetPictureBox = PictureBoxsDict[$"pictureBox{j + 15}"]; targetPictureBox.Image = droppedImage; /* label2.Text = (j + 1).ToString(); j++;*/ }
Код:
private void pictureBox_MouseDown(object sender, MouseEventArgs e)
{
PictureBox pictureBox = (PictureBox)sender;
pictureBox.DoDragDrop(pictureBox.Image, DragDropEffects.Copy);
}
private void pictureBox_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Copy;
}
private void pictureBox_DragDrop(object sender, DragEventArgs e)
{
PictureBox pictureBox = (PictureBox)sender;
string pictureBoxName = pictureBox.Name;
int j = Int32.Parse(pictureBoxName.Substring(11)); // Извлекаем число из имени pictureBox
if (PictureBoxsDict.ContainsKey($"pictureBox{j + 15}"))
{
PictureBox targetPictureBox = PictureBoxsDict[$"pictureBox{j + 15}"];
if (pictureBox.Image == targetPictureBox.Image)
{
targetPictureBox.Image = (Image)e.Data.GetData(typeof(Image));
}
else
{
MessageBox.Show("Это не тот pictureBox!");
return; // Отменяем перетаскивание
}
}
}