프로그램 개발시 Icon을 사용할 때가 많다.
여러가지 방법이 있겠지만 가장 간단한 방법이 Icon 파일을 특정 폴더에 넣고 해당 파일 경로를 이용하여 Icon을 생성하는 방법을 많이 사용한다.
Icon icon = new Icon(파일 경로);
하지만 이 방법이 불편할 때가 있다.
버전 관리를 하는 시스템이나 실행 파일 하나로만 관리를 하고 싶을 때와 같은 경우이다.
전자의 경우 특정 프로그램을 업데이트 시킬 때 해당 프로그램에서 위와 같이 Icon을 사용한다면..
특히나 여러개의 파일을 사용한다면 프로그램은 하나지만 업로드할 파일의 개수는 Icon 개수 + 1 만큼이다.
또한 사용자의 실수로 Icon 파일이 삭제될 경우 해당 프로그램은 실행되지 않는다.
후자의 경우 Windows Installer를 사용하지 않고 실행 파일로만 간단히 프로그램을 사용하고자 할 때 항상 Icon 파일을 같이 옮겨다녀야 한다.
이런 상황일 때 사용할 수 있는 것이 ImageList이다.
ImageList를 생성하고 Images에 아이콘을 추가시킨다.
이 후 이를 아이콘으로 사용하기 위해서는 아래와 같이 변환을 시켜야 한다.
trayHitops.Icon = Icon.FromHandle(((Bitmap)imageList1.Images[1]).GetHicon());