문제

버튼이 포함 된 사용자 정의 컨트롤을 버퍼링하고 싶습니다. 컨트롤을 이중 버퍼하는 다양한 방법을 시도했습니다. SetStyle, BufferedGraphicsContext 및 비트 맵으로 그리기. 이것들은 모두 컨트롤의 사용자 정의 도면에 적합하지만 버튼을 뒤로 버퍼로 끌어 당기는 것은 없습니다. 이것을 어떻게 달성합니까?

도움이 되었습니까?

해결책

기술적으로 당신은 할 수 없으며, 표준 .net winforms 버튼이 있을지는 안됩니다.

버튼 자체는 보호 된 이중 청원 속성을 통해이를 제어합니다. 이에 액세스하는 유일한 방법은 SWFBUTTON에서 새로운 클래스를 도출하고 해당 클래스의 인스턴스에서 더블 버퍼 된 속성을 활성화하기 위해 코드를 구현하는 것입니다 (아마도 생성자에서 그렇게 할 것입니다). 마지막으로, SWFBUTTONS 대신 양식에 새 클래스의 개체를 사용하십시오.

그러나 내가 기억 하듯이, 버튼은 순전히 Winapi에서 그려집니다. 그들은 gdi+가 아닙니다. 결과적으로, 당신은해서는 안됩니다 필요 그들의 그림을 두 배로 버터에 넣습니다. 즉, 귀하의 사용 시나리오를 모르고 앱이 표시되는 증상을 모르기 때문에 잘못 될 수 있습니다. :)

책을 확인하는 것을 고려할 수 있습니다 C#의 Pro .NET 2.0 Windows 양식 및 사용자 정의 컨트롤. 이 모든 것이 그 책의 정보에서 요약되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top