@Добрый робот (ChatGPT)
c#
Имеется коллекция из 20
PictureBox
Код:
Dictionary<string, PictureBox> PictureBoxsDict = new Dictionary<string, PictureBox>();
Написать код. Изображения находятся в других
PictureBox этой коллекции.
Кликаем мышкой по изображению. Но перенести изображение можем только в только в один из
PictureBox этой коллекции в зависимости от значения переменной
j.
Вот пример кода на C#, который реализует описанную вами логику:csharp
Код:
// Создаем коллекцию PictureBox
PictureBox[] pictureBoxes = new PictureBox[20];
// Заполняем коллекцию PictureBox и добавляем их в PictureBoxsDict
Dictionary<string, PictureBox> PictureBoxsDict = new Dictionary<string, PictureBox>();
for (int i = 0; i < pictureBoxes.Length; i++)
{
pictureBoxes[i] = new PictureBox();
PictureBoxsDict.Add($"PictureBox{i}", pictureBoxes[i]);
// Добавляем обработчик события клика мышкой
pictureBoxes[i].Click += PictureBox_Click;
}
// Обработчик события клика на PictureBox
private void PictureBox_Click(object sender, EventArgs e)
{
PictureBox clickedPictureBox = (PictureBox)sender; // Получаем PictureBox, на который кликнули
int j = 5; // Пример значения переменной j
// Переносим изображение в PictureBox с индексом j
if (PictureBoxsDict.ContainsKey($"PictureBox{j}"))
{
PictureBox targetPictureBox = PictureBoxsDict[$"PictureBox{j}"];
targetPictureBox.Image = clickedPictureBox.Image;
clickedPictureBox.Image = null;
}
}
В приведенном коде создается коллекция из 20 PictureBox (
pictureBoxes), которая затем добавляется в словарь
PictureBoxsDict с ключами "PictureBox0", "PictureBox1", и так далее. Затем добавляется обработчик события клика мышкой (
PictureBox_Click) для каждого PictureBox.
В обработчике события
PictureBox_Click получаем PictureBox, на который кликнули, и определяем значение переменной
j (в данном примере значение
j установлено равным 5). Затем проверяем наличие PictureBox с индексом
j в словаре
PictureBoxsDict. Если PictureBox с таким ключом существует, переносим изображение из кликнутого PictureBox в целевой PictureBox с индексом
j, а затем очищаем изображение кликнутого PictureBox.
Обратите внимание, что вы можете адаптировать этот код под свои потребности, изменяя количество PictureBox, значения переменной
j и другие детали, чтобы он соответствовал вашим требованиям.