생각보다 이것에 대한 정보가 많이 없고 알려진 방법중에 제한점이 있는 방법들이 많아서
제일 괜찮은 방법을 찾은김에 정리해봅니다.
//InitializeComponent 후에 바로 ShowInTaskbar를 false로 하여 작업표시줄에 나오지 않게 합니다.
//ShowInTaskbar를 false로 하면 키보드 후킹이 되지 않습니다.
//따라서 Form이 보이고 난후 다시 true로 바꿔줘야합니다.
//Opacity를 0으로 하면 Form이 보이지 않습니다. 이또한 후에 다시 바꿔줘야합니다.
public Form()
{
InitializeComponent();
this.ShowInTaskbar = false;
this.Opacity = 0;
}
//Form의 Shown 이벤트에서 Hide메소드 혹은 Visible = false를 해서 폼을 안보이게 합니다.
//그리고 위의 ShowInTaskbar와 Opacity 건든것을 원상복구 해줍니다.
//폼이 보이기 전에는 Hide메소드가 되지 않기 때문에 이렇게 하는 것입니다.
private void Form_Shown(object sender, EventArgs e)
{
this.Hide();
this.ShowInTaskbar = true;
this.Opacity = 100;
//키보드 후킹 세팅할게 있다면 이 이후에..
}
//폼을 보이고 숨기는 건 이런식으로
private void FormShowHide()
{
if (this.Visible)
{
this.Hide();
}
else
{
this.Show();
}
}
코드로 Shown이벤트를 핸들러에 추가하려면
Form()에 this.Shown += Form_Shown;
을 추가하세요.
'프로그램 개발 > 코딩자료' 카테고리의 다른 글
c# 실행파일의 폴더경로 (1) | 2022.09.04 |
---|---|
[WPF] ListBox에서 우클릭시 커서위치의 ListBoxItem에 ContextMenu 열기 (0) | 2022.09.01 |
[C] 비주얼스튜디오에서 stdio.h 에러 (1) | 2022.04.20 |
[C#] 어셈블리 정보 작성은 어떻게 해야할까 (0) | 2022.04.10 |
[WPF, WF] C#코드를 통한 TextBox의 Focus 해제 (0) | 2022.03.25 |