하위 컨트롤을 숨기지 않고 Windows Forms에서 반투명 오버레이 달성
기본 컨트롤을 가리지 않고 Windows Form에 반투명 오버레이를 만들려면 위에 계층화된 두 번째 양식을 사용해야 합니다. 이 오버레이 양식은 Opacity
속성을 활용하여 투명도 수준을 제어합니다.
이 오버레이를 빌드하려면 프로젝트에 새 클래스를 추가하고 Plexiglass
클래스를 구현합니다(아래 예제 코드 참조). 이 클래스는 오버레이 양식을 나타냅니다.
<code class="language-csharp">public class Plexiglass : Form { // ... Code implementation ... }</code>
기본 양식을 매개변수로 전달하여 Plexiglass
클래스의 인스턴스를 만듭니다.
<code class="language-csharp">var overlay = new Plexiglass(this);</code>
Plexiglass
양식은 기본 양식에 맞게 위치와 크기를 동적으로 조정하여 일관된 적용 범위를 보장합니다. overlay.Close()
을 통해 오버레이를 닫으면 기본 양식의 전체 가시성이 복원됩니다.
보다 부드러운 시각적 효과를 위해 기본 양식에서 Aero 전환을 비활성화하여 애니메이션이 부자연스러운 것을 방지하는 것이 좋습니다.
<code class="language-csharp">if (Environment.OSVersion.Version.Major >= 6) { int value = 1; DwmSetWindowAttribute(this.Handle, DWMWA_TRANSITIONS_FORCEDISABLED, ref value, 4); }</code>
이 코드 조각(DwmSetWindowAttribute
이 적절하게 정의되고 가져왔다고 가정)은 Aero 전환을 비활성화하여 보다 원활한 오버레이 모양을 만듭니다.
위 내용은 하위 컨트롤을 가리지 않고 Windows Form에서 반투명 오버레이를 만들려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!