2009-08-25 4 views
4

WinForms 및 C#을 사용하여 불규칙한 모양으로 창을 만드는 방법은 무엇입니까?C# Winforms 비정상적인 Windows

+0

불규칙한 정의는 무엇입니까? – rahul

+0

제목 표시 줄, 테두리 등과 같은 일반 WinForm 모양이 없다면 어떻게 될까요? – Svish

+0

일부 Windows Media Player 스킨과 같이 불규칙한 창은 본 적이 없으며 직사각형이 아니거나 둥근 모서리가 아닙니다. – Moon

답변

6

이렇게하려면 몇 가지 방법이 있습니다. 하나는 use use TransparencyKey (Nifle이 지적한 게시물에서와 같이)입니다. 또 다른 하나는 형태의 Region 속성에 Region 객체를 할당하는 것입니다 : 좌표가 윈도우 클라이언트가 아닌 영역에 참조하는 것이

System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath(); 
path.AddPolygon(new[] 
{ 
    new Point(20, 20), 
    new Point(40, 10), 
    new Point(180, 70), 
    new Point(160, 260), 
    new Point(80, 140) 
}); 
path.AddEllipse(40, 40, 300, 300); 
this.Region = new Region(path); 

참고. 또한 GraphicsPath 개체의 겹치는 그림이 기본적으로 서로 "반전"되는지 확인합니다 (이것은 path.FillMode = FillMode.Winding을 설정하여 방지 할 수 있습니다).