このプロジェクトには、デフォルトのプロジェクトよりも多くのスタイリングオプションをサポートするカスタムWinFormsコントロールが含まれています。このプロジェクトを使用して、より良い暗いモードとテーマのサポートを提供しています。
(テーマについては、他のプロジェクトWinForms-Themesをご覧ください)。
このプロジェクトを使用するには、NUGETパッケージへの参照を追加するだけ( dotnet add package AssortedDevelopment.StylableWinFormsControls )、標準コントロールをカスタムコントロールに置き換えます。すべてのコントロールは、名前空間StylableWinFormsControlsにあります。
これは、元のWinformsコントロールと比較して、現在利用可能なカスタムコントロールとその拡張機能と既知の特性のリストです。
次の追加プロパティを公開します。
Color EnabledHoverColor :マウスが有効なボタンの上にある間に、背景色を取得/設定します。Color EnabledBackColor :Enabledボタンの背景色を取得/設定します。Color DisabledBackColor :無効ボタンの背景色を取得/設定します。Color EnabledForeColor :有効なボタンの前景色を取得/設定します。Color DisabledForeColor :無効ボタンの前景色を取得/設定します。Color BorderColor :上記のシナリオのいずれかでボーダーカラーを取得/設定します。次の追加プロパティを公開します。
Color DisabledForeColor :チェックボックスが無効になっている場合、フォアグラウンドの色を取得/設定します。次の追加特性があります。
次の追加プロパティを公開します。
Color BorderColor :コンボボックスの周りに境界線の色を設定します(アイテムリストボックスではありません)Color ItemHoverColor :現在ホバリング/選択されているリストのアイテムの背景色を設定します。次の追加プロパティを公開します。
bool DoubleBuffered :基礎となるControl.DoubleBufferedを公開します。DoubleBuffereddatagridView DataGridViewでダブルバッファーを有効/無効にするbool EnableFirstColumnGrouping :最初の列を除いて、最初の列の複数行で同じテキストの複数の発生がすべて隠されるかどうかを示す値を取得/設定します。次の追加プロパティを公開します。
Color EnabledBackColor :Enabled DateTimePickerの背景色を取得/設定します。Color DisabledBackColor :無効なDateTimePickerの背景色を取得/設定します。Color EnabledForeColor :有効なDateTimePickerの前面色を取得/設定します。Color DisabledForeColor :無効なDateTimePickerの前景色を取得/設定します。次の追加特性があります。
BackColorプロパティは、デザイナーを介してさらにアクセスできます次の追加プロパティを公開します。
Color BorderColor :GroupBoxコンテンツを囲む境界線の色を取得/設定します。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] =右(無効)次の追加特性があります。
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ボタンです。それでは、 mBox.StylableControls.Text.ForeColor = Color.Red;最後に、 mBox.ShowDialog()を使用してダイアログを表示できます
注:コントロールのサイズを変更した場合(フォントサイズの増加など)、UIを新しい設定に更新するには、 UpdateSize()に電話してください。そうでなければ、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 iBox.StylableControls.Text.ForeColor = Color.Red;最後に、 iBox.ShowDialog()を使用してダイアログを表示し、そのDialogResultまたはiBox.Valueを使用して、ユーザーが入力した入力を取得することができます。
注:コントロールのサイズを変更した場合(フォントサイズの増加など)、UIを新しい設定に更新するには、 UpdateSize()に電話してください。そうでなければ、UIは奇妙に見えるかもしれません。
詳細については、寄稿ガイドをご覧ください。