2012-01-07 54 views
2

首先,我是vb 2010的新成員,到目前爲止我都很喜歡它。這就是說我遇到了一個與我目前的項目有關的問題。如何從vb 2010中的資源文件加載圖像expresss?

基本上我已經創建了一個計時器,所有的作品都很好。我的問題在於,我的定時器加載巴紐爲每分鐘/秒和我連接,像這樣的圖片:

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

那麼另一臺計算機上運行此呈現的代碼無用該位爲計算機沒有這些文件在本地,程序將以錯誤結束,因爲它找不到.png文件。

我在網上搜索了一下,發現一些網站和視頻教程如何從資源文件中讀取。但是這樣做,我一直無法正常工作。

原來這就是我在這裏找到:

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

我知道這段代碼是錯誤的,因爲我現在越來越在2010年2個VB錯誤我設法使這項工作是唯一的出路指定文件名。但是我想要做的是使用「minutes.text」和「seconds.text」中的whats來指定文件名。

有沒有辦法解決這個問題?或者我必須使用一堆if語句來做到這一點?

例如:

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

我不想有做一堆的if語句,如果有一個簡單的解決。所以我來這裏尋求幫助。

+0

分鐘是文本框還是資源?您的問題的標題不再適合,因爲您的代碼示例現在似乎是從磁盤加載文件。 – Origin 2012-01-07 06:04:14

+0

分鐘是一個從文本框中加載文本以用於定時器的標籤。定時器在標籤框中工作正常,但我試圖閱讀標籤中的內容並使用它將圖像加載到圖片框中。 – CustomZ02 2012-01-07 07:08:42

回答

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) 
+0

是的,這就是我一直在尋找:)。先生非常感謝您! – CustomZ02 2012-01-07 09:12:06

0

我已經試過這種形式,它是功能

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

+0

這是從哪裏調用Image.FromBitmap?我的意思是我們需要導入一些東西? – gumuruh 2014-05-29 01:02:24

相關問題