알파 블렌드 형태로 컨트롤을 표시합니다
-
02-07-2019 - |
문제
나는 시각적 c# 킥을 시도했다 알파 블렌드 형태에 대한 코드. 이것은 작동합니다 (내가 제거하자마자 TransparencyKey
재산); 즉, W3C를 사용할 수 있습니다 PNG 알파 테스트 이미지 아래의 다른 창문을 보지만 양식의 모든 제어를 보이지 않습니다. 아마도, 그들은 단순히 그 그림으로 그려지지 않았습니다 OnPaint
재정의됩니다. 나는 슈퍼 클래스를 부르려고 노력했다 OnPaint
:
Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
UpdateFormDisplay()
MyBase.OnPaint(e)
End Sub
, 그러나 이것은 아무것도 바꾸지 않았습니다. (부름 MyBase.OnPaint
첫 번째 아무런 차이도 없습니다.)
불행히도 Alpha-Blended Form에 대한 대부분의 기사는 컨트롤이없는 Pure Splash Screen에 중점을 둡니다. 그러나 먼저 로그인 필드를 표시하는 패널이 필요합니다.
그건 그렇고, 대조군은 투명성이 필요하지 않습니다. PNG의 투명성이 정말로 중요한 것은 바깥 쪽 가장자리에만 있습니다. 따라서이 모든 것 위에 다른 형태를 추가하여 이것을 위조하면 (두 사람이 항상 탠덤으로 움직이는) 충분할 수 있지만 더 부드러운 솔루션을 선호합니다.
해결책
어쨌든,이 기사는 컨트롤이있는 알파 변환 형태를 다룹니다.
다른 팁
초기화 성분 () 후 양식 CTOR에 이것을 넣으십시오.
Base.setStyle (ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInwmPaint | ControlStyles.userPaint, True);