该项目包含自定义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看起来很奇怪。
请查看贡献指南以获取更多信息。