인터넷 검색하다 찾게된 예제 소스인데 매우 깔끔하고 효과적으로 만들어진 코드라서 참조로서 보관해 둡니닫.
예제만들기
- 새 Windows Forms 응용 프로그램을 만듭니다.
- 프로젝트에서 Form1.cs 를 삭제 하십시오.
- Open Program.cs - 읽은 행을 제거하십시오
Application.Run(new Form1());
. - 아래의 예제와 같이 코드를 만듧니다.
첨부된 파일을 다운로드 해서 실행해 보시면 정상동작되는 코드를 참조하십시오.
NotifyIcon
객체 를 만들어야합니다 .
NotifyIcon ni;
클래스 생성자에서 다음과 같이 객체를 인스턴스화합니다.
1 | new NotifyIcon(); |
static class Program
{
/// <summary>
[STAThread]
static void Main()
{
아래에 프로그램 실행 코드를 만듦니다.
1 2 3 4 5 6 7 8 9 10 11 | Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(<span class = "code-keyword" > false </span>); <span class = "code-comment" > //</span><span class="code-comment"> Show the system tray icon.</span> <span class = "code-keyword" >using</span> (ProcessIcon pi = <span class = "code-keyword" > new </span> ProcessIcon()) { pi.Display(); <span class = "code-comment" > //</span><span class="code-comment"> Make sure the application runs!</span> Application.Run(); } |
ContextMenu를 동적으로 추가 합니다.
1 | ni.ContextMenuStrip = <span class = "code-keyword" > new </span> ContextMenus().Create(); |
이벤트 핸들러를 추가 합니다.
1 | item.Click += <span class = "code-keyword" > new </span> EventHandler(Explorer_Click); |
1 2 3 4 5 6 | if (!isAboutLoaded) { isAboutLoaded = <span class = "code-keyword" > true </span>; <span class = "code-keyword" > new </span> AboutBox().ShowDialog(); isAboutLoaded = <span class = "code-keyword" > false </span>; } |
샘플코드에서 필요한 기능만 간단히 구현해 놓았으므로 필요한 사항의 무엇인지 이해 하기 쉬울 것입니다.
별다른 설명이 필요 없을 정도로 심플 합니다.