본문 바로가기
개발

[C#]Alt+Tab을 눌러도 보이지 않게 해보자!

by 비손 2008. 9. 27.

Form 에서 다른 Form 을 생성하는 경우 작업표시줄에도 표시되고 Alt+Tab을 누르면 나오는 화면에도 나옵니다.

이것을 없애는 방법이 여러가지 있습니다.

ShowDialog() 로 호출하는 방법도 있고, FormBorderStyle을 FixedToolWindow 또는 SizableToolWindow 로 지정하면 Alt+Tab 화면에 보이지 않습니다. 하지만 이 방법들은 무언가 꺼림찍하죠?

다들 특정한 목적으로 쓰도록 만든 것이기 때문에 일반 폼에 적용하기는 무리가 있습니다.

제가 만드는 App의 경우에는 FormBorderStyle을 None으로 설정하고, 소유하는 폼에도 접근해서 작업을 하도록 만들었기 때문에 위의 방법을 쓸 수가 없더군요

그래서 열심히 구굴링을 해서 찾아낸 방법!

protected override CreateParams CreateParams
        {
            get
            {
                // Turn on WS_EX_TOOLWINDOW style bit
                CreateParams cp = base.CreateParams;
                cp.ExStyle |= 0x80;
                return cp;
            }

         }

이 코드를 Form의 클래스에 넣기만 하면 Alt+Tab을 눌러도 보이지 않습니다.
보니까 어떤 속성을 오버라이드 해서 ToolWindow 속성을 부여하는 것 같습니다. 정확한지는 저도 잘 ^^;

출처: http://www.csharp411.com/hide-form-from-alttab/