panel 컨트롤 속성 중에 backgrounimage 를 누르면 에러가 납니다..

안녕하세요, panel 컨트롤 속성 중에 backgroundimage 를 클릭하면 에러가 나서 질문 드립니다.

우선 처음 클릭하게 될 때와 2번째 클릭 할 때 에러가 다르게 나와서 해당 에러 이미지를 첨부 하겠습니다.

▲ 처음 backgroundimage 클릭 했을 때

“ResX 파일 루트 요소가 없습니다.을(를) 구문 분석할 수 없습니다.”

▲ 2번째 backgroundimage 클릭 했을 때

“동일한 키를 사용하는 항목이 이미 추가되었습니다.”

기존 panel 컨트롤 backgroundimage 에 담겨져 있는 이미지를 지우고 다른걸로 변경하려고 하는데 저렇게 에러가 나버리네요…

코드 상에서 생성자에 아래 코드로 변경은 가능하지만,디자이너 쪽에서 에러가 나는 문제를 수정하고 싶습니다…


// panel 배경 이미지
Image backgroundImage = Properties.Resources.테스트;
plnMain.BackgroundImage = backgroundImage;

속성의 동작은 xxx.Designer.cs의 설정에 따라 다르게 동작 할 것입니다. 첫번째와 두번째의 해당 패널 코드가 어떻게 바뀌는지 살펴보세요.

정상적이라면 다음의 창이 떠야 합니다.

image

답변 주시는 분들을 위해 재현이 가능한 환경 정보를 주셔야 합니다. 그렇지 않으면 우연하게 동일한 문제를 경험한 분만 답변이 가능하고 또 그 분이 이곳에 계실 가능성까지 고려하면 답변을 받기 힘들겠지요.

1 Like

답변 감사합니다… xxx.Designer.cs 에 보면 해당 패널의 백그라운드 이미지는 아래처럼 되어 있습니다.

this.plnEnvBack.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("plnEnvBack.BackgroundImage")));

패널의 코드가 변경이 되는 걸 확인 한다는게 무슨 말인지를 모르겠습니다…

xxx.resx 파일을 열어서, 여기에 있는 패널의 백그라운드 이미지를 수정하여 해결은 했는데,이게 맞는 방법인지를 모르겠네요

아마도 프로젝트 템플릿 상황에서 발생하는 문제는 아닌 것 같은데요, 어떤 개발 환경인지는 모르겠지만 템플릿으로 생성해서 속성 창 BackgroundImage 의 동작이 동일한지 살펴볼 필요가 있고,

첫번째 클릭했을 때,

두번째 클릭했을 때

동작이 변한다는 것은 첫번째 클릭하기 전 xxx.Designer.cs의 관련 코드와
두번째 클릭하기 전의 xxx.Designer.cs의 관련 코드가 다르다는 것을 의미할 꺼에요.

템플릿 프로젝트까지 포함해서 서로 비교하면 아마 답을 찾을 수 있지 않을까 합니다.

답변 감사합니다!!! 아직 잘 이해가 안되지만,천천히 보면서 확인해볼게요!!!

1 Like