2011-05-03 7 views
4

테두리없는 양식을 만들고 있는데 사용자 정의 테두리를 추가하고 싶습니다. 그러나 양식의 배경을 추가하면 잘 표시되지 않고 투명하지 않습니다.테두리없는 양식의 C# 투명 테두리

이것은 내 경계 : 나는 흰색의 폼의 투명도를 설정하면 Screenshot

그림자 내가 할 모르겠어요, 사라로 사용할 것입니다.

+0

WPF 또는 WinForms를 사용합니까? – ZoolWay

+0

WinForms. WPF에서해야 할 일이 될 것이라고 생각합니까? – SaintHUN

+0

투명한 색을 위해 [Fuchsia] (http://msdn.microsoft.com/en-us/library/system.drawing.color.fuchsia.aspx)와 같은 색을 사용하면 더 좋은 행운을 누릴 수 있습니다. . –

답변

2

그래, 내가 속였 어.하지만 내가 한 것은 국경없는 창인데도 CreateParams를 오버라이드하여 dropshadow를 그리는 것이다. 그것은 내가 원했던 것과 정확히 똑같습니다.
모든 도움에 감사드립니다!

5

이 기사에서 설명한대로 반투명 (알파) 이미지를 WinForms의 양식 배경으로 사용하는 방법이 있습니다 : A lovely goldfish desktop pet (using alpha-PNG and GDI+).

네이티브 interop을 사용하여 이미지를 데스크탑과 블렌드합니다.

UpdateLayeredWindow function (User32.dll)pinvoke.net으로 확인하십시오. 그것을 사용하는 방법에 대한 예도 있습니다.

[편집]

같은 주제에 대해 Mike Swanson's blog article에 pinvoke.net의 링크도 있습니다. 그것은 언급 된 링크들에서 묘사 된 것과 같은 코드를 사용하지만 그것은 OP가 원하는 것을 정확히 수행하는 VS 프로젝트입니다 : 반투명 PNG 이미지를 배경으로 한 스플래시 폼.

+0

고마워, 지금 당장. – SaintHUN

+0

UpdateLayeredWindow()를 사용하는 것은 불투명도 및 TransparencyKey 속성을 사용하는 어려운 방법 일뿐입니다. –

+0

@Hans :'TransparencyKey'는 GIF 이미지가 투명성을 지원하는 방식과 비슷하게 투명하다고 간주되는 단일 색상만을 정의합니다. OP가 얻으려는 것은 알파 채널을 완벽하게 지원하여 PNG 파일의 불투명도 그라디언트를 허용하는 것입니다. – Groo

관련 문제