Este proyecto contiene controles de WinForms personalizados que admiten más opciones de estilo que las predeterminadas. Utilizamos este proyecto para un mejor modo oscuro y soporte de temas.
(Para obtener temas, consulte nuestro otro proyecto WinForms-Themes).
Para usar este proyecto, simplemente agregue una referencia a nuestro paquete NUGET ( dotnet add package AssortedDevelopment.StylableWinFormsControls ) y reemplace los controles estándar con nuestros controles personalizados. Todos los controles se pueden encontrar en el espacio de nombres StylableWinFormsControls .
Esta es la lista disponible actualmente de controles personalizados y sus características extendidas y características conocidas en comparación con los controles WinForms originales.
Expone las siguientes propiedades adicionales:
Color EnabledHoverColor : obtiene/establece el color de fondo mientras el mouse está sobre el botón habilitado.Color EnabledBackColor : obtiene/establece el color de fondo de un botón habilitado.Color DisabledBackColor : obtiene/establece el color de fondo de un botón deshabilitado.Color EnabledForeColor : obtiene/establece el color de primer plano de un botón habilitado.Color DisabledForeColor : obtiene/establece el color de primer plano de un botón deshabilitado.Color BorderColor : obtiene/establece el color del borde en cualquiera de los escenarios descritos anteriormente.Expone las siguientes propiedades adicionales:
Color DisabledForeColor : obtiene/establece el color de primer plano si la casilla de verificación está deshabilitada.Tiene las siguientes características adicionales:
Expone las siguientes propiedades adicionales:
Color BorderColor : establece el color del borde alrededor del Combobox (no el cuadro de lista de artículos)Color ItemHoverColor : establece el color de fondo del elemento en la lista que actualmente está ronquido/seleccionado.Expone las siguientes propiedades adicionales:
bool DoubleBuffered : expone el Control.DoubleBuffered subyacente. Doble-buffered para habilitar/deshabilitar el doble empalme en el control DataGridViewbool EnableFirstColumnGrouping : obtiene/establece un valor que indica si múltiples ocurrencias del mismo texto en múltiples filas de la primera columna deberían estar ocultas, excepto la primera.Expone las siguientes propiedades adicionales:
Color EnabledBackColor : obtiene/establece el color de fondo de un DataTimePicker habilitado.Color DisabledBackColor : obtiene/establece el color de fondo de un DataTimepicker deshabilitado.Color EnabledForeColor : Obtiene/establece el color de primer plano de un DataTimePicker habilitado.Color DisabledForeColor : obtiene/establece el color de primer plano de un DataTimepicker deshabilitado.Tiene las siguientes características adicionales:
BackColor también se puede acceder a través del diseñadorExpone las siguientes propiedades adicionales:
Color BorderColor : obtiene/establece el color del borde que rodea el contenido de la caja de grupos.Color EnabledForeColor : obtiene/establece el color de primer plano del texto/título pintado dentro del borde cuando la caja de grupo está habilitada.Color DisabledForeColor : obtiene/establece el color de primer plano del texto/título pintado dentro del borde cuando la caja de grupo está deshabilitada.Tiene las siguientes características adicionales:
ForeColor no se puede acceder a través del diseñador (para alentar el uso de las propiedades de color más específicas)Expone las siguientes propiedades adicionales:
Color DisabledForeColor : obtiene/establece el color de primer plano de una etiqueta deshabilitada.Tiene las siguientes características adicionales:
Expone las siguientes propiedades adicionales:
Color GroupHeaderBackColor : establece el color que construye el fondo de cualquier fila de encabezado de grupo.Color GroupHeaderForeColor : establece el color de primer plano de cualquier fila de encabezado de grupo.Color SelectedItemBackColor : establece el color que construye el fondo de las filas de elementos seleccionadas.Color SelectedItemForeColor : establece el color de primer plano de cualquier fila de elemento seleccionada.Tiene las siguientes características adicionales:
Expone las siguientes propiedades adicionales:
Color BackgroundColor : establece el color de fondo de todo el TabControl.Color ActiveTabBackgroundColor : obtiene/establece el color de fondo del rectángulo de pestaña actualmente activo.Color ActiveTabForegroundColor : obtiene/establece el color de primer plano del rectángulo de pestaña actualmente activo.Color BorderColor : establece el color del borde en el TabControl mismo y alrededor de las pestañasbool UseRoundedCorners : Obtiene o establece un valor que indica si los controles de la página de pestaña tienen un radio de esquina o no.Bitmap[] UpDownImages : obtiene o establece las imágenes utilizadas actualmente para el control de Updown. [0] = izquierda, [1] = derecha, [2] = izquierda (deshabilitado), [3] = derecha (deshabilitado)Tiene las siguientes características adicionales:
Alignment Top a BottomMultiline no es compatible actualmenteExpone las siguientes propiedades adicionales:
Color BorderColor : obtiene/establece el color del borde alrededor del cuadro de textoColor PlaceholderForeColor : obtiene/establece el color de primer plano del texto de sugerenciasColor ForeColor : obtiene/establece el color de primer plano del texto sin pinturastring PlaceholderText : obtiene/establece el valor que se mostrará si no se muestra texto o texto predeterminado proporcionado por el usuariobool IsDelayActive : obtiene/establece un valor que indica si el evento TextChanged se activará solo después de una cantidad de tiempo especificada.DelayedTextChangedTimeout : obtiene/establece el tiempo de retraso para activar el evento TextChanged después de la última entrada del usuarioTiene las siguientes características adicionales:
TextChanged Con el StylableMessageBox , puede crear formularios similares a MessageBox pero el manejo es un poco diferente, ya que le permitimos diseñar el formulario antes de mostrar.
Creemos un cuadro de mensaje primero:
StylableMessageBox mBox = StylableMessageBox . BUILDER
. WithTitle ( "This is a text" , MessageBoxIcon . Information )
. WithText ( "This is an example of a stylable MessageBox" )
. Build ( ) ; Esto creará un cuadro de mensaje con un título y un mensaje y, como no proporcionamos otra información, un botón OK. Ahora, diseñemos la forma que queramos: mBox.StylableControls.Text.ForeColor = Color.Red; Por fin, puede mostrar el diálogo usando mBox.ShowDialog()
Nota: Si cambia el tamaño de los controles (por ejemplo, aumente el tamaño de la fuente), llame a UpdateSize() para actualizar la interfaz de usuario a la nueva configuración. De lo contrario, la interfaz de usuario puede parecer rara.
Con el StylableInputBox , puede crear formularios similares a Interaction.InputBox VB.nets.Inputbox pero el manejo es un poco diferente (ya que es prácticamente un StylableMessageBox ligeramente diferente). Por lo tanto, le permitimos peinar y ajustar el formulario antes de mostrarlo.
Creemos primero un cuadro de entrada:
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 ) ; Esto creará un cuadro de entrada para valores numéricos (actualmente, admitimos texto a través TextBox y la entrada numérica a través de NumericUpDown ). Ahora, diseñemos la forma que queramos: iBox.StylableControls.Text.ForeColor = Color.Red; Por fin, puede mostrar el diálogo usando iBox.ShowDialog() y usar su DialogResult o iBox.Value para obtener la entrada ingresada por el usuario.
Nota: Si cambia el tamaño de los controles (por ejemplo, aumente el tamaño de la fuente), llame a UpdateSize() para actualizar la interfaz de usuario a la nueva configuración. De lo contrario, la interfaz de usuario puede parecer rara.
Vea la guía de contribución para obtener más información.