이 프로젝트에는 기본 옵션보다 더 많은 스타일 옵션을 지원하는 맞춤형 winforms 컨트롤이 포함되어 있습니다. 우리는이 프로젝트를 더 나은 다크 모드와 테마 지원을 위해 사용합니다.
(테마는 다른 프로젝트 Winforms-Temes를 확인하십시오).
이 프로젝트를 사용하려면 NUGET 패키지에 대한 참조를 추가하고 ( dotnet add package AssortedDevelopment.StylableWinFormsControls ) 표준 컨트롤을 사용자 정의 컨트롤로 바꾸십시오. 모든 컨트롤은 네임 스페이스 StylableWinFormsControls 에서 찾을 수 있습니다.
이것은 현재 사용 가능한 사용자 정의 컨트롤 목록 및 원래 Winforms 컨트롤과 비교하여 확장 된 기능 및 알려진 특성입니다.
다음 추가 속성을 노출시킵니다.
Color EnabledHoverColor : 마우스가 활성화 버튼 위에있는 동안 배경색을 가져 오거나 설정합니다.Color EnabledBackColor : 활성화 버튼의 배경색을 가져 오기/설정합니다.Color DisabledBackColor : 비활성화 버튼의 배경색을 가져 오거나 설정합니다.Color EnabledForeColor : 활성화 버튼의 전경 색상을 가져 오거나 설정합니다.Color DisabledForeColor : 비활성화 된 버튼의 전경 색상을 가져 오거나 설정합니다.Color BorderColor : 위에서 설명한 모든 시나리오에서 테두리 색상을 가져 오거나 설정합니다.다음 추가 속성을 노출시킵니다.
Color DisabledForeColor : 확인란이 비활성화 된 경우 전경 색상을 가져 오거나 설정합니다.다음과 같은 추가 특성이 있습니다.
다음 추가 속성을 노출시킵니다.
Color BorderColor : Combobox 주위에 테두리의 색상을 설정합니다 (항목 목록 상자가 아님)Color ItemHoverColor : 현재 호버링/선택된 목록에서 항목의 배경색을 설정합니다.다음 추가 속성을 노출시킵니다.
bool DoubleBuffered : DataGridView Control에서 이중 청분 Control.DoubleBuffered 활성화/비활성화하도록 DoubleBuffered.bool EnableFirstColumnGrouping : 첫 번째 열의 여러 행에서 동일한 텍스트의 여러 발생이 첫 번째 열을 제외하고는 모두 숨겨져야하는지 여부를 나타내는 값을 가져 오거나 설정합니다.다음 추가 속성을 노출시킵니다.
Color EnabledBackColor : 활성화 된 DateTimePicker의 배경색을 가져 오기/설정합니다.Color DisabledBackColor : 비활성화 된 DateTimepicker의 배경색을 가져 오기/설정합니다.Color EnabledForeColor : 활성화 된 DateTimePicker의 전경 색상을 가져 오거나 설정합니다.Color DisabledForeColor : 비활성화 된 DateTimePicker의 전경 색상을 가져 오거나 설정합니다.다음과 같은 추가 특성이 있습니다.
BackColor 속성은 디자이너를 통해 추가로 액세스 할 수 있습니다다음 추가 속성을 노출시킵니다.
Color BorderColor : GroupBox 컨텐츠를 둘러싼 테두리의 색상을 가져 오거나 설정합니다.Color EnabledForeColor : GroupBox가 활성화 될 때 테두리 내부에 그려진 텍스트/제목의 전경 색상을 가져 오거나 설정합니다.Color DisabledForeColor : GroupBox가 비활성화 될 때 테두리 내부에 그려진 텍스트/제목의 전경 색상을 가져 오거나 설정합니다.다음과 같은 추가 특성이 있습니다.
ForeColor 속성은 디자이너를 통해 액세스 할 수 없습니다 (보다 구체적인 색상 특성의 사용을 장려).다음 추가 속성을 노출시킵니다.
Color DisabledForeColor : 비활성화 된 레이블의 전경을 가져 오거나 설정합니다.다음과 같은 추가 특성이 있습니다.
다음 추가 속성을 노출시킵니다.
Color GroupHeaderBackColor : 그룹 헤더 행의 배경을 작성하는 색상을 설정합니다.Color GroupHeaderForeColor : 그룹 헤더 행의 전경 색상을 설정합니다.Color SelectedItemBackColor : 선택한 항목 행의 배경을 작성하는 색상을 설정합니다.Color SelectedItemForeColor : 선택한 항목 행의 전경 색상을 설정합니다.다음과 같은 추가 특성이 있습니다.
다음 추가 속성을 노출시킵니다.
Color BackgroundColor : 전체 TabControl의 배경색을 설정합니다.Color ActiveTabBackgroundColor : 현재 활성 탭 사각형의 배경색을 가져 오기/설정합니다.Color ActiveTabForegroundColor : 현재 활성 탭 사각형의 전경을 가져 오기/설정합니다.Color BorderColor : Tabcontrol 자체와 탭 주변의 테두리 색상을 설정합니다.bool UseRoundedCorners : 탭 페이지 컨트롤에 코너 반경이 있는지 여부를 나타내는 값을 가져 오거나 설정합니다.Bitmap[] UpDownImages : updown 컨트롤에 현재 사용되는 이미지를 가져 오거나 설정합니다. [0] = 왼쪽, [1] = 오른쪽, [2] = 왼쪽 (비활성화), [3] = 오른쪽 (비활성화)다음과 같은 추가 특성이 있습니다.
Alignment 값 만 Top 및 Bottom 만 지원합니다Multiline 현재 지원되지 않습니다다음 추가 속성을 노출시킵니다.
Color BorderColor : 텍스트 상자 주위에 테두리 색상을 가져 오거나 설정합니다.Color PlaceholderForeColor : 힌트 텍스트의 전경 색상을 가져 오기/설정Color ForeColor : 비 힌트 텍스트의 전경 색상을 가져 오기/설정string PlaceholderText : 사용자가 제공 한 텍스트 나 기본 텍스트가 표시되지 않으면 표시 할 값을 가져 오기/설정합니다.bool IsDelayActive : 지정된 시간 후에 만 TextChanged 이벤트가 트리거되어야하는지 여부를 나타내는 값을 가져옵니다.DelayedTextChangedTimeout : 마지막 사용자 입력 후 TextChanged 이벤트를 트리거하는 지연 시간을 가져 오거나 설정합니다.다음과 같은 추가 특성이 있습니다.
TextChanged 이벤트를 지원합니다 StylableMessageBox 사용하면 MessageBox 와 유사한 양식을 만들 수 있지만 보여주기 전에 양식을 스타일링 할 수 있으므로 처리가 약간 다릅니다.
먼저 메시지 상자를 만들어 봅시다 :
StylableMessageBox mBox = StylableMessageBox . BUILDER
. WithTitle ( "This is a text" , MessageBoxIcon . Information )
. WithText ( "This is an example of a stylable MessageBox" )
. Build ( ) ; 이렇게하면 제목과 메시지가 포함 된 메시지 상자가 생성됩니다. 다른 정보를 제공하지 않았기 때문에 OK -BUTTON. 이제, 우리가 원하는대로 양식을 스타일로 만들어 봅시다 : mBox.StylableControls.Text.ForeColor = Color.Red; 마지막으로 mBox.ShowDialog() 사용하여 대화 상자를 표시 할 수 있습니다.
참고 : 컨트롤의 크기를 변경하는 경우 (예 : 글꼴 크기 증가) UpdateSize() 에게 전화하여 UI를 새 설정으로 업데이트하십시오. 그렇지 않으면 UI가 이상하게 보일 수 있습니다.
StylableInputBox 사용하면 vb.nets Interaction.InputBox 와 유사한 양식을 만들 수 있지만 핸들링은 약간 다릅니다 (실제로 약간 다른 StylableMessageBox ). 따라서 보여주기 전에 양식을 스타일링하고 조정할 수 있습니다.
먼저 입력 상자를 작성하겠습니다.
StylableNumericInputBox iBox = StylableNumericInputBox . BUILDER
. WithTitle ( "Numeric Test" , MessageBoxIcon . Information )
. WithText ( "Please enter a random number between -100 and 100" )
. WithHelpButton ( new Uri ( "https://github.com/Assorted-Development/winforms-stylable-controls" ) )
. WithTimeout ( TimeSpan . FromSeconds ( 30 ) , DialogResult . Cancel )
. ForNumericValue ( 0 , - 100 , 100 ) ; 이렇게하면 숫자 값에 대한 입력 상자가 생성됩니다 (현재, TextBox 통해 텍스트를 지원하고 숫자 입력을 통한 NumericUpDown 입력). 이제, 우리가 원하는대로 양식을 스타일을 만들어 봅시다 : iBox.StylableControls.Text.ForeColor = Color.Red; 마지막으로 iBox.ShowDialog() 사용하여 대화 상자를 표시하고 DialogResult 또는 iBox.Value 를 사용하여 사용자가 입력을 입력 할 수 있습니다.
참고 : 컨트롤의 크기를 변경하는 경우 (예 : 글꼴 크기 증가) UpdateSize() 에게 전화하여 UI를 새 설정으로 업데이트하십시오. 그렇지 않으면 UI가 이상하게 보일 수 있습니다.
자세한 내용은 기고 안내서를 참조하십시오.