2012-01-07 2 views
2

우선 Im은 2010 년 vb에 새롭고 지금까지 내가 그걸로 할 수 있었던 것을 즐겼습니다. 그것이 현재 프로젝트에서 문제가되었다고 말하고 있습니다.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 년에 나는이 작품이 만들어 관리해야 유일한 방법이 오류를 받고 있어요 같은 코드의이 비트가 잘못 알고

그래서 이것은 내가 여기에서 찾을 것입니다 파일 이름을 지정합니다. 하지만 내가하고 싶은 일은 "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 

나는 간단한 수정이 문 경우 경우의 무리를 할 필요 싫어. 그래서 여기 도움을 청했습니다.

+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

관련 문제