【发布时间】:2013-11-29 07:22:32
【问题描述】:
这是我在下面的事件按钮单击处理程序中的代码。每当我点击一次它就会随机化图像。是否有可能的解决方案让我的代码在单击时循环一次而不是无限次循环。
我正在做一个图片匹配记忆游戏,所以当我点击按钮时它会保持随机化。
shuffled01 = dict01.Shuffle();
void btn_Click(object sender, EventArgs e)
{
foreach (var a in shuffled01)
{
button.Name = "a" + a.Key.ToString();
button.MinHeight = 100;
button.MinWidth = 100;
// button.Name = "a" + a.Key.ToString();
ImageBrush brush = new ImageBrush();
BitmapImage bitmap = new BitmapImage();
button.Background = brush;
bitmap.BeginInit();
bitmap.UriSource = new Uri(@"C:\inetpub\wwwroot\istellar 22-10-13\iStellarMobile\iStellarMobile\"
+ a.Value.ToString().Substring(1), UriKind.Absolute);
bitmap.ToString();
bitmap.EndInit();
brush.ImageSource = bitmap;
}
}
提前致谢。
【问题讨论】:
-
如何使用 Random
-
infinity looping是指循环shuffled01的长度? -
是的,我把我的字典随机打乱了
-
您的代码只会循环一次,因为您使用的是 foreach 并且您没有在循环期间更改集合(无论如何,这在 C# 中是不允许的)。如果单击您的按钮会挂起您的应用程序,则问题出在其他地方。
标签: c# wpf dictionary foreach shuffle