C# Windows Forms 응용 프로그램에서 패널의 배경 이미지를 변경하고 싶습니다. 배경으로 설정하려는 이미지는 Solution Explorer의 리소스 폴더에 있습니다. 코드에서 어떻게 사용합니까? C#의 리소스 파일에서 패널의 배경 이미지를 설정하는 방법은 무엇입니까?
나는이 시도 :panel1.BackgroundImage = Properties.Resources.Chalkboard;
을하지만 그것은 작동하지 않았다.
C# Windows Forms 응용 프로그램에서 패널의 배경 이미지를 변경하고 싶습니다. 배경으로 설정하려는 이미지는 Solution Explorer의 리소스 폴더에 있습니다. 코드에서 어떻게 사용합니까? C#의 리소스 파일에서 패널의 배경 이미지를 설정하는 방법은 무엇입니까?
나는이 시도 :panel1.BackgroundImage = Properties.Resources.Chalkboard;
을하지만 그것은 작동하지 않았다.
속성 프로젝트 폴더에 아이콘 리소스를 만들 수 있습니다. Properties를 열었을 때 Resources.resx를 클릭하고 Add Resource-> Add New Icon 메뉴 항목을 클릭하십시오. 아이콘이 생성됩니다. 기존 파일의 아이콘을 리소스에로드 할 수도 있습니다.이 경우 아이콘은 실행 파일에 빌드됩니다. 따라서 아이콘이 자원으로 추가되면 이름이 지정됩니다.
나는 당신이했던 것처럼 똑같은 코드를 시도했고, 버튼을 눌렀을 때 잘 동작합니다.
private void pnlBgBtn_Click(object sender, EventArgs e)
{
panel1.BackgroundImage = Properties.Resources.image;
}
'Properties.Resources.image'의 'image'이름은 이미지에 지정한 이름이어야합니다. 이미지의 올바른 이름은 project-proje의 프로젝트 속성에 표시된 이름이어야합니다.
이 밖으로 시도 할 수 있습니다
Bitmap bmp = new Bitmap(System.Reflection.Assembly.GetEntryAssembly().
GetManifestResourceStream("MyProject.Resources.myimage.png"));
panel1.BackgroundImage = bmp;
를 사용하면 페이지로드에 패널의 배경 이미지를 설정하려는 경우, 당신은이 코드를 작성 :
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;
properties.Resources 클래스는 모든 re 이
panel1.BackgroundImage = (Image)(Properties.Resourses.Chalkboard);
에 오신 것을 환영를 해결 여호수아의 대답을 표시! "이 도움이된다면 투표하십시오."라는 답과 Markdown으로 코드를 포맷해야합니다. 이 경우 panel1이라는 단어 앞에 네 개의 공백을 추가하여 올바르게 형식을 지정하십시오. – Zanon
@ Zanon ... 알았어. Txx –
같은 이미지에 캐스트를 적용해야하므로 이미지로 sourse 헤이 스택 오버플로이 답변 – CodeSlayer