[C#] .NET에서 리소스를 만들고 사용하는 방법

프로그램의 다양한 부분에서 쉽게 참조하고 사용할 수있는 리소스를 어떻게 만듭니 까?

내 특정 문제는 프로그램 상태에 따라 아이콘을 변경하려는 NotifyIcon이 있다는 것입니다. 일반적인 문제이지만 오랫동안 고투해온 문제입니다.



답변

글쎄, StackOverflow (gee, 나는 이곳을 이미 좋아한다) 주위에서 다양한 지점을 둘러보고 함께 모은 후에, 대부분의 문제는 이미이 단계를지나 갔다. 그래도 내 문제에 대한 답을 해결했습니다.

리소스를 만드는 방법 :

제 경우에는 아이콘을 만들고 싶습니다. 리소스로 추가하려는 데이터 유형에 관계없이 유사한 프로세스입니다.

  • 리소스를 추가하려는 프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오. 솔루션 탐색기에서이 작업을 수행하십시오. 목록에서 “속성”옵션을 선택하십시오.
  • “자원”탭을 클릭하십시오.
  • 막대 상단의 첫 번째 버튼을 사용하면 추가 할 리소스 유형을 선택할 수 있습니다. 문자열에서 시작해야합니다. 아이콘을 추가하고 싶습니다. 아이콘을 클릭하고 옵션 목록에서 “아이콘”을 선택하십시오.
  • 그런 다음 두 번째 버튼 인 “자원 추가”로 이동하십시오. 새 리소스를 추가하거나 이미 아이콘이 만들어져 있으면 추가 할 수도 있습니다. 선택한 옵션에 대한 프롬프트를 따르십시오.
  • 이 시점에서 새로 추가 된 리소스를 두 번 클릭하여 편집 할 수 있습니다. 리소스는 솔루션 탐색기에도 표시되며, 더블 클릭하면 효과가 있습니다.

자원을 사용하는 방법 :

좋습니다. 새 리소스가 생겨서 멋진 아이콘이 바뀌기를 원합니다. 어떻게해야합니까? 운 좋게도 C #은 이것을 매우 쉽게 만듭니다.

Properties.Resources모든 리소스에 액세스 할 수 있는 정적 클래스가 있으므로 내 코드는 다음과 같이 간단합니다.

paused = !paused;
if (paused)
    notifyIcon.Icon = Properties.Resources.RedIcon;
else
    notifyIcon.Icon = Properties.Resources.GreenIcon;

끝난! 끝마친! 방법을 알면 모든 것이 간단합니까?


답변

위의 내용은 Visual Studio 2010에서 예상 한대로 실제로 작동하지 않았습니다. Properties.Resources에 액세스 할 수는 없지만 권한 문제로 인해 액세스 할 수 없다고 말했습니다. 궁극적으로 리소스 속성의 지속성 설정을 변경 한 다음 Resources.Designer.cs 파일을 통해 액세스하는 방법을 찾았습니다. 여기에서 MyNamespace.Properties.Resources를 통해 아이콘에 액세스 할 수있는 자동 게터가 있습니다. .NameFromAddingTheResource. 그러면 바로 사용할 수있는 Icon 유형의 객체가 반환됩니다.


답변

위의 방법이 효과적입니다.

또 다른 방법 (여기서는 웹이라고 가정)은 페이지를 만드는 것입니다. 페이지에 컨트롤을 추가하십시오. 그런 다음 디자인 모드에서 도구> 로컬 자원 생성으로 이동 하십시오 . 리소스 파일은 페이지의 모든 컨트롤이 리소스 파일에 매핑 된 솔루션에 자동으로 나타납니다.

다른 언어에 대한 리소스를 만들려면 파일 이름 끝에 4 자 언어를 확장명 앞에 추가하십시오 ( Account.aspx.en-US.resx, Account.aspx.es-ES.resx … 등).

코드 숨김에서 특정 항목을 검색하려면이 메소드를 호출하면 GetLocalResourceObject([resource entry key/name])됩니다.


답변