일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- HMI
- 파이썬
- JQuery
- Eclipse
- 말라키
- 가상환경
- 맥코트
- Python
- 리눅스
- 원한
- Anaconda
- geckodriver
- Custom
- 명령어
- ORA-28002
- STS
- error
- build
- Linux
- LOG
- pythoncom37.dll
- checkbox
- SCADA
- DataTables
- 분노
Archives
- Today
- Total
2010년 5월 1일, 2막
[c#] 시스템 트레이 프로그램 작성 본문
출처 : http://son10001.blogspot.com/2015/02/c.html
프로그램을 짜다 보면 사용자의 눈에 안띄게 프로그램해야 할 경우도 있다.
이런경우 그냥 실행시 프로그램의 visible 를 False 로 하고, 트레이 아이콘을 등록해 주면 된다.
간단하게 폼 하나를 추가하고.
notifyIcon 컨트롤을 추가해 준다.
보여줄 아이콘이 지정되어 있지 않으면 notifyIcon 을 등록해도 소용이 없으므로, 적당한 아이콘을 찾아 지정해 준다.
제대로 지정했으면 지정한 아이콘이 보일 것이다.
그리고, ContextMenuStip 를 하나 추가해 준다.
물론 없어도 실행하는데는 별 상관이 없지만, 이게 없으면 정상적인 방법으로는 실행시킨 프로그램을 종료할 방법이 없어지므로 추가해 준다.
실행 폼이 여러개라면 맨처음에 실행될 frmStart 를 시작 폼으로 기록해 둔다.
시작 폼에 위와 같이 소스를 작성한다.
public frmStarter() {
InitializeComponent();
this.WindowState = FormWindowState.Minimized;
this.ShowInTaskbar = false;
this.Visible = false;
this.notifyIcon1.Visible = true;
notifyIcon1.ContextMenuStrip = contextMenuStrip1;
}
private void 종료ToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
이렇게 하고 실행하면...
아무런 액션이 일어나지 않지만, 트레이에 자세히 보면 새로운 아이콘이 등록된것이 보인다.
당연한 말이지만, 트레이아이콘 마져 등록하지 않으면, 아무런 표시없이 실행되게 할 수도 있다. (물론 프로세스 목록에선 나타나겠지만...)
ContextMenuStip 가 등록되어 있으므로 마우스 오른쪽 버튼을 클릭시 팝업 메뉴가 나타나고 "종료"를 선택시 프로그램이 종료된다.
'Computer > Tips' 카테고리의 다른 글
Git 사용법 관련 (0) | 2020.04.24 |
---|---|
[c#] WORKING WITH ASYNCHRONOUS METHODS IN C# (0) | 2020.03.31 |
[mysql] datetime 날짜 검색 (0) | 2019.08.07 |
[C#] 크로스 스레드와 Control.Invoke (0) | 2019.07.24 |
[DB] EXPLAIN for MariaDB (0) | 2019.07.23 |