2

我有两种形式,frmMain 和 frmPictures。在 frmMain 我有一个计时器,其间隔为 5000(5 秒)。frmPictures 有 16 个图片框,其中已经加载了图像。在每个计时器滴答声中,我需要更改 frmMain 背景图像。在启动时,背景图像与picturebox1 相同。

在每个计时器滴答声中,程序应随机选择 frmPictures 中的一个 PictureBox,并将 frmMain 的背景图像更改为所选 PictureBox 的图像。

如何在 VB.NET 中执行此操作?

4

1 回答 1

2

首先,您应该将所有内容收集PictureBoxes在一个数组或类似结构中。这可能发生在以下Form_Load事件中:

Dim pictures(15) As PictureBox
pictures(0) = frmPictures.PictureBox1
'...

顺便说一句,为什么每张图片都有图片框?在应用程序启动时加载图像就足够了:

Dim pictures(15) As Image
pictures(0) = Image.FromFile("...")
'...

然后在计时器事件中,创建一个随机数并选择一个图像:

'Call Randomize() on application startup
Dim rnd = CInt(16 * Rnd())
BackgroundImage = pictures(rnd).Image 'For the picture box method or
BackgroundImage = pictures(rnd)       'For the direct method
于 2013-10-05T08:16:06.260 回答