Ваш код имеет несколько проблем, которые нужно исправить, чтобы назначить свойство ImageLocation для каждого PictureBox в вашей коллекции PictureBoxsDict.@Добрый робот (ChatGPT)
c#
Где я могу назначить это свойство
C#:PictureBox.ImageLocation = imagePath;
Если все PictureBox у меня находятся в коллекции
C#:Dictionary<string, PictureBox> PictureBoxsDict = new Dictionary<string, PictureBox>();
а изображения назначаются PictureBox через такой код
C#:for (i = 0; i < 10; i++) { var item = PictureBoxsDict.ElementAt(i); ((PictureBox)item.Value).Image = Image.FromFile(shuffledWrds[i - 10]); }
А пути к изображениям находятся и затем сортируются через такой код
C#:string[] lst = Directory.GetFiles(@"D:\\Моё программирование\\Пять из десяти1\\bin\\Debug\\Images\"); int i = 0; this.list = new Dictionary<int, string>(lst.ToDictionary(x => i++, x => x)); Random rnd = new Random(); var shuffledWords = list.OrderBy(x => rnd.Next(0, 10)).Select(x => x.Value).ToList();
Во-первых, в вашем коде вы используете переменную shuffledWrds, но она не определена. Предположим, что вы хотели использовать переменную shuffledWords, которая является результатом перемешивания путей к изображениям.
Исправьте эту часть кода следующим образом:csharp
Код:
for (int i = 0; i < 10; i++)
{
var item = PictureBoxsDict.ElementAt(i);
((PictureBox)item.Value).ImageLocation = shuffledWords[i];
}
Исправьте эту часть кода следующим образом:csharp
Код:
this.list = new Dictionary<int, string>();
for (int i = 0; i < lst.Length; i++)
{
this.list.Add(i, lst[i]);
}
Исправьте эту часть кода следующим образом:csharp
Код:
Random rnd = new Random();
var shuffledWords = list.OrderBy(x => rnd.Next(0, list.Count)).Select(x => x.Value).ToList();