2016-08-05 5 views
0

트레이 아이콘과 응용 프로그램 아이콘이 응용 프로그램의 모든 양식에 공통으로 나타나길 원합니다. 어떻게해야합니까? 응용 프로그램 아이콘 : 응용 프로그램의 속성에 새 아이콘을 추가했지만 작업 표시 줄에 여전히 기본 아이콘이 표시됩니다.Windows 양식의 글로벌 트레이 아이콘 및 응용 프로그램 아이콘?

트레이 아이콘의 경우 : 추가 된 컨텍스트 메뉴, 숨기기, 열기 등의 단일 양식에 대해 여러 기능을 수행 할 수 있지만 모든 양식에서이를 수행하는 방법.

모든 양식에 적용 할 수있는 전역 파일을 만들 수 있습니까?

답변

1

Form.Load 이벤트 또는 생성자를 사용하여 코드에 아이콘을 설정할 수 있습니다.

private void Form1_Load(object sender, EventArgs e) 
{ 
    // you could place this lines also in constructor 
    // but make sure you place it after the InitializeComponent() call 
    // bar is the name you defined while adding the resource 
    this.Icon = Properties.Resources.bar; 

    // and for your tray icons 
    this.notifyIcon1.Icon = Properties.Resources.bar; 
} 

당신은 양식 디자이너를 사용하여 동일한 작업을 수행하고 폼의 속성 섹션 및 트레이 아이콘에서 Icon 속성을 설정할 수 있습니다. 이 경우 설계자는 디자이너 생성 파일 내에 거의 동일한 코드를 배치합니다.

또 다시 같은 코드를 작성하는 것을 방지하기 위해 편집

, 당신은 당신의 자신의 Form 기본 클래스를 작성하고 생성자에있는 아이콘을 설정할 수 있습니다. 그런 다음 그 모든 기본 클래스에서 Forms을 파생시킵니다. From에서 MyFormBase에 기본 클래스를 변경 한 후 다시 양식 디자이너를 사용하는 프로젝트를 구축에

// File: MyFormBase.cs 
public partial class MyFormBase : Form 
{ 
    public MyFormBase() 
     : base() 
    { 
     Icon = Properties.Resources.bar; 
    } 
} 

// In your Form file: 
public partial class MyForm : MyFormBase 
{ 
    // ... 
} 

당신은해야합니다.

+0

단일 양식으로 처리 할 수 ​​있지만 신청서에 다른 양식이 있습니다. 나는 각 폼마다 같은 코드를 쓴다. 그래서 해결책은 무엇입니까? –

+1

내 편집보기, @NithinB –

관련 문제