2

首先,我是 vb 2010 的新手,到目前为止,我很享受我能用它做的事情。话虽如此,我目前的项目遇到了问题。

基本上我已经创建了一个计时器,并且在这方面一切正常。我的问题在于我的计时器每分钟/秒加载一个 .png 并且我像这样链接图像:

Picturebox1.Image = Image.Fromfile("C:\timer\images\" & minutes.text & ".png")
Picturebox2.Image = Image.Fromfile("C:\timer\images\" & seconds.text & ".png")

因此,在另一台 PC 上运行它会使那段代码变得无用,因为该计算机在本地没有这些文件,并且由于找不到 .png 文件,程序将以错误结束。

我在网上做了一些搜索,找到了一些如何从资源文件中读取的网站和视频教程。但是这样做我一直无法使其正常运行。

所以这就是我在这里找到的:

Picturebox1.image = My.Resources.minutes.text
Picturebox2.image = My.Resources.seconds.text

我知道这段代码是错误的,因为我现在在 vb 2010 中遇到了 2 个错误。我设法完成这项工作的唯一方法是指定文件名。但我想要做的是使用“minutes.text”和“seconds.text”中的内容来指定文件名。

有没有解决的办法?还是我必须使用一堆 if 语句来做到这一点?

例子:

If minutes.text = 1 Then
picturebox1 = My.Resource._1
End If
If seconds.text = 12 Then
Picturebox2 = My.Resource._12
End If

如果有一个简单的修复,我会讨厌做一堆 if 语句。所以我来这里寻求帮助。

4

2 回答 2

3

我想你正在寻找这个:

Dim currentMin as string = "_" & minutes.text ' it would look something like this: _1
picturebox1.Image = CType(My.Resources.ResourceManager.GetObject(currentMin), Image)

Dim currentSec as string = "_" & seconds.text
picturebox2.Image = CType(My.Resources.ResourceManager.GetObject(currentSec), Image)
于 2012-01-07T08:24:09.613 回答
0

我试过这个表格,它很实用

Picturebox1.Image = Image.FromHbitmap(My.Resources.imagename.GetHbitmap())

于 2013-06-13T15:31:12.373 回答