.net 防止随机生成的图片连续出现两次
我有一个picturebox(“piturebox1”)和一个带有四张图片的imagelist(“imagelist1”)。我希望每2秒随机更改一次,我不希望同一张图片连续出现两次 我目前的代码是:.net 防止随机生成的图片连续出现两次,.net,vb.net,.net,Vb.net,我有一个picturebox(“piturebox1”)和一个带有四张图片的imagelist(“imagelist1”)。我希望每2秒随机更改一次,我不希望同一张图片连续出现两次 我目前的代码是: Dim Pic As Integer Dim rand As New Random Pic = rand.Next(0, ImageList1.Images.Count) PictureBox1.Image = ImageList1.Images(Pic) 由
Dim Pic As Integer
Dim rand As New Random
Pic = rand.Next(0, ImageList1.Images.Count)
PictureBox1.Image = ImageList1.Images(Pic)
由于您只有四张图片,而洗牌而不是随机选择通常是此类问题的首选解决方案,如果您想显示图片超过8秒,这对您没有多大好处。在这种情况下,您最好继续选择非当前图片的随机图片:
' do not repeat this part....
Dim Pic As Integer = -1, LastSelected As Integer = -1
Dim rand As New Random
While Pic = LastSelected
Pic = rand.Next(0, ImageList1.Images.Count)
Loop
PictureBox1.Image = ImageList1.Images(Pic)
' Wait for 2 seconds, rinse, repeat
“随机”包括图像连续出现两次的可能性。甚至更经常。也许你真正想要的是一个混乱的列表?你应该包括你的代码。听起来,在切换到下一张图片之前,您必须检查一下当前图片的内容。请阅读并拍摄照片。你需要做一些研究,自己尝试一些东西;这不是代码编写服务或教程站点/使用计时器。不要多次初始化Random。不要使用ImageList,始终支持(图像的)列表。谷歌“vb.net随机洗牌”取得成功。