Este projeto contém controles WinForms personalizados que suportam mais opções de estilo do que as padrão. Usamos este projeto para melhor modo escuro e suporte ao tema.
(Para temas, confira nosso outro projeto WinForms-Themas).
Para usar este projeto, basta adicionar uma referência ao nosso pacote NUGET ( dotnet add package AssortedDevelopment.StylableWinFormsControls ) e substitua os controles padrão por nossos controles personalizados. Todos os controles podem ser encontrados nos namespace StylableWinFormsControls .
Esta é a lista atualmente disponível de controles personalizados e seus recursos estendidos e características conhecidas em comparação com os controles originais do WinForms.
Expõe as seguintes propriedades adicionais:
Color EnabledHoverColor : obtém/define a cor de fundo enquanto o mouse está acima do botão ativado.Color EnabledBackColor : Gets/Define a cor de fundo de um botão ativado.Color DisabledBackColor : Gets/Define a cor de fundo de um botão desativado.Color EnabledForeColor : Obtém/define a cor do primeiro plano de um botão ativado.Color DisabledForeColor : obtém/define a cor do primeiro plano de um botão desativado.Color BorderColor : obtém/define a cor da borda em qualquer um dos cenários descritos acima.Expõe as seguintes propriedades adicionais:
Color DisabledForeColor : recebe/define a cor do primeiro plano se a caixa de seleção estiver desativada.Tem as seguintes características adicionais:
Expõe as seguintes propriedades adicionais:
Color BorderColor : define a cor da borda ao redor do ComboBox (não a caixa de listagem de itens)Color ItemHoverColor : define a cor de fundo do item na lista que está atualmente pairada/selecionada.Expõe as seguintes propriedades adicionais:
bool DoubleBuffered : expõe o Control.DoubleBuffered subjacente DataGridViewbool EnableFirstColumnGrouping : Gets/Define um valor indicando se várias ocorrências do mesmo texto em várias linhas da primeira coluna devem ser ocultas, exceto para a primeira.Expõe as seguintes propriedades adicionais:
Color EnabledBackColor : Gets/Define a cor de fundo de um DateTeTimePicker ativado.Color DisabledBackColor : Gets/Define a cor de fundo de um DateTeTimePicker desativado.Color EnabledForeColor : Gets/define a cor de primeiro plano de um datetimepicker habilitado.Color DisabledForeColor : obtém/define a cor do primeiro plano de um Datetimepicker desativado.Tem as seguintes características adicionais:
BackColor é adicionalmente acessível via designerExpõe as seguintes propriedades adicionais:
Color BorderColor : obtém/define a cor da borda que circunda o conteúdo da caixa de grupo.Color EnabledForeColor : Gets/Define a cor do primeiro plano do texto/título pintada dentro da borda quando a caixa de grupo está ativada.Color DisabledForeColor : obtém/define a cor de primeiro plano do texto/título pintada dentro da borda quando o grupo de grupo está desativado.Tem as seguintes características adicionais:
ForeColor não é acessível via designer (para incentivar o uso das propriedades de cores mais específicas)Expõe as seguintes propriedades adicionais:
Color DisabledForeColor : obtém/define a cor de primeiro plano de um rótulo desativado.Tem as seguintes características adicionais:
Expõe as seguintes propriedades adicionais:
Color GroupHeaderBackColor : define a cor que constrói o fundo de qualquer linha do cabeçalho do grupo.Color GroupHeaderForeColor : define a cor do primeiro plano de qualquer linha do cabeçalho do grupo.Color SelectedItemBackColor : define a cor que constrói o fundo das linhas de itens selecionadas.Color SelectedItemForeColor : define a cor de primeiro plano de qualquer linha de item selecionada.Tem as seguintes características adicionais:
Expõe as seguintes propriedades adicionais:
Color BackgroundColor : Define a cor de fundo de todo o TabControl.Color ActiveTabBackgroundColor : obtém/define a cor de fundo do retângulo de guia ativo atualmente.Color ActiveTabForegroundColor : obtém/define a cor do primeiro plano do retângulo de guia ativo atualmente.Color BorderColor : Define a cor da borda no próprio TabControl e ao redor das guiasbool UseRoundedCorners : recebe ou define um valor indicando se os controles da página da guia têm um raio de canto ou não.Bitmap[] UpDownImages : obtém ou define as imagens usadas atualmente para o controle de updown. [0] = esquerda, [1] = direita, [2] = esquerda (desativada), [3] = direita (desativada)Tem as seguintes características adicionais:
Alignment Top e BottomMultiline não é suportadaExpõe as seguintes propriedades adicionais:
Color BorderColor : recebe/define a cor da borda ao redor da caixa de textoColor PlaceholderForeColor : obtém/define a cor de primeiro plano do texto da dicaColor ForeColor : Gets/define a cor de primeiro plano do texto não pobrestring PlaceholderText : Gets/Define o valor a ser mostrado se nenhum texto fornecido pelo usuário ou texto padrão for mostradobool IsDelayActive : obtém/define um valor indicando se o evento TextChanged deve ser acionado somente após uma quantidade especificada de tempo.DelayedTextChangedTimeout : Gets/Define o tempo de atraso para desencadear o evento TextChanged após a última entrada do usuárioTem as seguintes características adicionais:
TextChanged Com o StylableMessageBox , você pode criar formulários semelhantes ao MessageBox , mas o manuseio é um pouco diferente, pois permitimos estilizar o formulário antes de mostrar.
Vamos criar uma caixa de mensagem primeiro:
StylableMessageBox mBox = StylableMessageBox . BUILDER
. WithTitle ( "This is a text" , MessageBoxIcon . Information )
. WithText ( "This is an example of a stylable MessageBox" )
. Build ( ) ; Isso criará uma caixa de mensagem com um título e uma mensagem e - como não fornecemos outras informações - um botão OK. Agora, vamos estilizar o formulário como queremos: mBox.StylableControls.Text.ForeColor = Color.Red; Por fim, você pode mostrar a caixa de diálogo usando mBox.ShowDialog()
NOTA: Se você alterar o tamanho dos controles (por exemplo, aumente o tamanho da fonte), ligue para UpdateSize() para atualizar a interface do usuário para as novas configurações. Caso contrário, a interface do usuário pode parecer estranha.
Com o StylableInputBox , você pode criar formulários semelhantes ao VB.Nets Interaction.InputBox , mas o manuseio é um pouco diferente (pois é praticamente um StylableMessageBox ligeiramente diferente). Portanto, permitimos que você estilize e ajuste o formulário antes de mostrá -lo.
Vamos criar uma caixa de entrada primeiro:
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 ) ; Isso criará uma caixa de entrada para valores numéricos (atualmente, apoiamos o texto via TextBox e entrada numérica via NumericUpDown ). Agora, vamos estilizar o formulário como queremos: iBox.StylableControls.Text.ForeColor = Color.Red; Por fim, você pode mostrar a caixa de diálogo usando iBox.ShowDialog() e usar seu DialogResult ou iBox.Value para obter a entrada inserida pelo usuário.
NOTA: Se você alterar o tamanho dos controles (por exemplo, aumente o tamanho da fonte), ligue para UpdateSize() para atualizar a interface do usuário para as novas configurações. Caso contrário, a interface do usuário pode parecer estranha.
Veja o guia contribuinte para obter mais informações.