이 기사에서는 일반적인 문제인 텍스트로 원 컨트롤을 만드는 방법과 투명성 및 크기 조정과 같은 문제를 극복하는 방법을 설명합니다.
첫 번째 과제는 내접 정사각형과 너비가 같은 원을 만드는 것입니다. 원의 크기를 조정하면 다른 컨트롤과 겹치게 됩니다. 또한 컨트롤의 배경이 투명해야 합니다.
투명성을 갖춘 사용자 정의 컨트롤
투명성을 달성하기 위해 Control 클래스에서 파생된 사용자 정의 컨트롤을 만듭니다. 인터페이스에는 텍스트를 표시할 수 있는 색상이 지정된 원이 포함되어 있습니다. 컨트롤은 불투명도, 내부 패딩(내부 직사각형과 컨트롤 경계 사이의 거리) 및 글꼴 패딩(텍스트와 내부 직사각형 사이의 거리)을 설정하기 위한 사용자 정의 속성을 노출합니다.
컨트롤을 투명하게 만들기 위해 CreateParams 메서드를 재정의하고 해당 ExStyle을 WS_EX_TRANSPARENT로 설정합니다.
맞춤 스타일
Control.SetStyle() 메서드를 사용하여 ControlStyle을 추가하여 컨트롤 동작을 수정합니다.
마우스 이벤트 처리
컨트롤은 드래그 및 크기 조정을 위한 마우스 이벤트를 지원합니다.
글꼴 처리
글꼴은 Segoe UI에 하드코딩되어 있어 원형 영역 중앙에 텍스트 위치를 단순화합니다. 다른 글꼴은 기준선이 다르며 더 복잡한 처리가 필요합니다.
전체 코드
C# 사용자 정의 컨트롤의 전체 코드가 제공되었습니다.
컨트롤을 사용하려면 새 클래스 파일을 만들고 제공된 코드를 붙여넣은 후 프로젝트를 빌드하세요. 사용자 정의 컨트롤이 도구 상자에 나타납니다. 양식에 끌어다 놓고 필요에 따라 사용자 정의 속성을 조정합니다.
결과는 다른 컨트롤과 겹치지 않고 위치를 지정하고 크기를 조정할 수 있는 텍스트가 포함된 반투명 원형 컨트롤입니다.
위 내용은 C#에서 텍스트로 반투명 원형 컨트롤을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!