2012-01-07 10 views
2

まず最初に私は2010年に新しいvb 2010になりました。これまでのところ、私はこれでできることを楽しんできました。それは私の現在のプロジェクトで問題に遭遇したと言われています。vb 2010のリソースファイルからイメージを読み込む方法は?

基本的に私はタイマーを作成しており、すべてその部分で正常に機能しています。私の問題は私のタイマーは/毎分のための第二の.pngをロードし、私はそうのような画像をリンクしていることである:そのコンピュータが持っていなかったように、別のPC上でこれを実行している役に立たないコードのそのビットをレンダリング

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 

私は今、VB 2010年に、私はこの仕事があることを確認するために管理している唯一の方法は2つのエラーを得ているように私はこのコードのビットが間違っている知っていますファイル名を指定します。しかし、私がしたいことは、 "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

'minutes'はテキストボックスですか、リソースですか?あなたのコード例が今ディスクからファイルを読み込んでいるように見えるので、あなたの質問のタイトルは適切ではないようです。 – Origin

+0

分は、タイマーで使用するテキストボックスからテキストを読み込むラベルです。タイマーは、ラベルボックスで正常に動作しますが、私はラベル内の何を読み込み、画像ボックスに画像を読み込むために使用しようとしています。 – CustomZ02

答えて

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

0

が、私はこのフォームを試してみましたが、それが機能している

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

+0

どこからこのImage.FromBitmapが呼び出されますか?私は何かを輸入する必要があるのですか? – gumuruh