該項目包含自定義Winforms控件,該控件比默認的選項支持更多的樣式選項。我們使用此項目來更好地暗模式和主題支持。
(有關主題,請查看我們的其他項目Winforms-Besemes)。
要使用此項目,只需將引用添加到我們的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 :揭露基礎Control.DoubleBuffered 。在DataGridView控件上啟用/禁用雙重屏障bool EnableFirstColumnGrouping :獲取/設置一個值,指示第一個列的多個行中同一文本的多個出現,除了第一個行以外,都應全部隱藏。公開以下其他屬性:
Color EnabledBackColor :獲取/設置啟用dateTimePicker的背景顏色。Color DisabledBackColor :獲取/設置禁用dateTimePicker的背景顏色。Color EnabledForeColor :獲取/設置啟用dateTimePicker的前景顏色。Color DisabledForeColor :獲取/設置禁用dateTimePicker的前景顏色。具有以下其他特徵:
BackColor屬性公開以下其他屬性:
Color BorderColor :獲取/設置圍繞組盒內容的邊框的顏色。Color EnabledForeColor :在啟用組盒時,在邊框內繪製的文本/標題的前景顏色獲取/設置。Color DisabledForeColor :在禁用組盒時,獲取/設置邊框內繪製的文本/標題的前景顏色。具有以下其他特徵:
ForeColor屬性無法通過設計師訪問(鼓勵使用更具體的顏色屬性)公開以下其他屬性:
Color DisabledForeColor :獲取/設置禁用標籤的前景顏色。具有以下其他特徵:
公開以下其他屬性:
Color GroupHeaderBackColor :設置構建任何組標頭行的背景的顏色。Color GroupHeaderForeColor :設置任何組標頭行的前景顏色。Color SelectedItemBackColor :設置構建所選項目行背景的顏色。Color SelectedItemForeColor :設置任何選定項目行的前景顏色。具有以下其他特徵:
公開以下其他屬性:
Color BackgroundColor :設置整個TabControl的背景顏色。Color ActiveTabBackgroundColor :獲取/設置當前活動選項卡矩形的背景顏色。Color ActiveTabForegroundColor :獲取/設置當前活動選項卡矩形的前景顏色。Color BorderColor :在選項卡對照本身和標籤周圍設置邊框的顏色bool UseRoundedCorners :獲取或設置一個值,指示選項卡頁面控件是否具有轉角半徑。Bitmap[] UpDownImages :獲取或設置當前使用的圖像用於Updown控件。 [0] =左,[1] =右,[2] =左(禁用),[3] =右(禁用)具有以下其他特徵:
Top和Bottom Alignment值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 ( ) ;這將創建一個帶有標題和消息的消息框,並且 - 由於我們沒有提供其他信息 - 按鈕。現在,讓我們按照想要的形式來樣式: mBox.StylableControls.Text.ForeColor = Color.Red;最後,您可以使用mBox.ShowDialog()顯示對話框
注意:如果更改控件的尺寸(例如增加字體尺寸),請致電UpdateSize()以將UI更新為新設置。否則,UI看起來很奇怪。
使用StylableInputBox ,您可以創建類似於vb.nets Interaction.InputBox表單。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看起來很奇怪。
請查看貢獻指南以獲取更多信息。