2013-05-05 4 views
3

C# Windows Forms 응용 프로그램에서 패널의 배경 이미지를 변경하고 싶습니다. 배경으로 설정하려는 이미지는 Solution Explorer의 리소스 폴더에 있습니다. 코드에서 어떻게 사용합니까? C#의 리소스 파일에서 패널의 배경 이미지를 설정하는 방법은 무엇입니까?

나는이 시도 :

panel1.BackgroundImage = Properties.Resources.Chalkboard; 

을하지만 그것은 작동하지 않았다.

+0

같은 이미지에 캐스트를 적용해야하므로 이미지로 sourse 헤이 스택 오버플로이 답변 – CodeSlayer

답변

0

속성 프로젝트 폴더에 아이콘 리소스를 만들 수 있습니다. Properties를 열었을 때 Resources.resx를 클릭하고 Add Resource-> Add New Icon 메뉴 항목을 클릭하십시오. 아이콘이 생성됩니다. 기존 파일의 아이콘을 리소스에로드 할 수도 있습니다.이 경우 아이콘은 실행 파일에 빌드됩니다. 따라서 아이콘이 자원으로 추가되면 이름이 지정됩니다.

6

나는 당신이했던 것처럼 똑같은 코드를 시도했고, 버튼을 눌렀을 때 잘 동작합니다.

private void pnlBgBtn_Click(object sender, EventArgs e) 
{ 
    panel1.BackgroundImage = Properties.Resources.image; 
} 

'Properties.Resources.image'의 'image'이름은 이미지에 지정한 이름이어야합니다. 이미지의 올바른 이름은 project-proje의 프로젝트 속성에 표시된 이름이어야합니다.

1

이 밖으로 시도 할 수 있습니다

Bitmap bmp = new Bitmap(System.Reflection.Assembly.GetEntryAssembly(). 
    GetManifestResourceStream("MyProject.Resources.myimage.png")); 

panel1.BackgroundImage = bmp; 
1

를 사용하면 페이지로드에 패널의 배경 이미지를 설정하려는 경우, 당신은이 코드를 작성 :

private void panel1_Paint(object sender, PaintEventArgs e) 
{ 
    Assembly asm = Assembly.GetExecutingAssembly(); 
    Bitmap backgroundImage = new Bitmap(asm.GetManifestResourceStream("Image913.jpg")); 

    e.Graphics.DrawImage(
     backgroundImage, 
     this.ClientRectangle, 
     new Rectangle(0, 0, backgroundImage.Width, backgroundImage.Height), 
     GraphicsUnit.Pixel); 
} 

을 사용자가 설정하려는 경우 패널을 제외한 이미지는 다음 코드를 사용합니다.

Bitmap bmp = new Bitmap(System.Reflection.Assembly.GetEntryAssembly(). 
GetManifestResourceStream("MyProject.Resources.photo0018.jpg.png")); 

panel1.BackgroundImage = bmp; 
2

properties.Resources 클래스는 모든 re 이

panel1.BackgroundImage = (Image)(Properties.Resourses.Chalkboard); 
+1

에 오신 것을 환영를 해결 여호수아의 대답을 표시! "이 도움이된다면 투표하십시오."라는 답과 Markdown으로 코드를 포맷해야합니다. 이 경우 panel1이라는 단어 앞에 네 개의 공백을 추가하여 올바르게 형식을 지정하십시오. – Zanon

+0

@ Zanon ... 알았어. Txx –

관련 문제