Ce projet contient des contrôles WinForms personnalisés qui prennent en charge plus d'options de style que celles par défaut. Nous utilisons ce projet pour un meilleur mode sombre et une prise en charge du thème.
(Pour les thèmes, consultez notre autre projet WinForms-thems).
Pour utiliser ce projet, ajoutez simplement une référence à notre package NuGet ( dotnet add package AssortedDevelopment.StylableWinFormsControls ) et remplacez les commandes standard par nos contrôles personnalisés. Tous les commandes peuvent être trouvées dans l'espace de noms StylableWinFormsControls .
Il s'agit de la liste actuellement disponible des commandes personnalisées et de leurs fonctionnalités étendues et caractéristiques connues par rapport aux contrôles WinForms originaux.
Expose les propriétés supplémentaires suivantes:
Color EnabledHoverColor : obtient / définit la couleur d'arrière-plan tandis que la souris est sur le bouton activé.Color EnabledBackColor : Obtient / Définit la couleur d'arrière-plan d'un bouton activé.Color DisabledBackColor : obtient / définit la couleur d'arrière-plan d'un bouton désactivé.Color EnabledForeColor : obtient / définit la couleur de premier plan d'un bouton activé.Color DisabledForeColor : obtient / définit la couleur de premier plan d'un bouton désactivé.Color BorderColor : obtient / définit la couleur de la bordure dans l'un des scénarios décrits ci-dessus.Expose les propriétés supplémentaires suivantes:
Color DisabledForeColor : obtient / définit la couleur de premier plan si la case à cocher est désactivée.A les caractéristiques supplémentaires suivantes:
Expose les propriétés supplémentaires suivantes:
Color BorderColor : Définit la couleur de la bordure autour du Combobox (pas la zone de liste des articles)Color ItemHoverColor : Définit la couleur d'arrière-plan de l'élément dans la liste qui est actuellement en plane / sélectionné.Expose les propriétés supplémentaires suivantes:
bool DoubleBuffered : expose le Control.DoubleBuffered sous-jacent DataGridViewbool EnableFirstColumnGrouping : obtient / définit une valeur indiquant si plusieurs occurrence du même texte en plusieurs lignes de la première colonne doivent toutes être cachées, sauf pour la première.Expose les propriétés supplémentaires suivantes:
Color EnabledBackColor : obtient / définit la couleur d'arrière-plan d'un DateTimePicker activé.Color DisabledBackColor : Obtient / Définit la couleur d'arrière-plan d'un DateTimePicker désactivé.Color EnabledForeColor : obtient / définit la couleur de premier plan d'un DateTimePicker activé.Color DisabledForeColor : obtient / définit la couleur de premier plan d'un DateTimePicker désactivé.A les caractéristiques supplémentaires suivantes:
BackColor est en outre accessible via le concepteurExpose les propriétés supplémentaires suivantes:
Color BorderColor : Obtient / Définit la couleur de la bordure qui entoure le contenu Groupbox.Color EnabledForeColor : obtient / définit la couleur de premier plan du texte / titre peint à l'intérieur de la bordure lorsque la boîte de groupe est activée.Color DisabledForeColor : obtient / définit la couleur de premier plan du texte / titre peint à l'intérieur de la bordure lorsque la boîte de groupe est désactivée.A les caractéristiques supplémentaires suivantes:
ForeColor n'est pas accessible via le concepteur (pour encourager l'utilisation des propriétés de couleur plus spécifiques)Expose les propriétés supplémentaires suivantes:
Color DisabledForeColor : obtient / définit la couleur de premier plan d'une étiquette handicapée.A les caractéristiques supplémentaires suivantes:
Expose les propriétés supplémentaires suivantes:
Color GroupHeaderBackColor : Définit la couleur qui construit l'arrière-plan de toute ligne d'en-tête de groupe.Color GroupHeaderForeColor : Définit la couleur de premier plan de toute ligne d'en-tête de groupe.Color SelectedItemBackColor : Définit la couleur qui construit l'arrière-plan des lignes d'objets sélectionnées.Color SelectedItemForeColor : Définit la couleur de premier plan de toute ligne d'élément sélectionnée.A les caractéristiques supplémentaires suivantes:
Expose les propriétés supplémentaires suivantes:
Color BackgroundColor : Définit la couleur d'arrière-plan de l'ensemble du TabControl.Color ActiveTabBackgroundColor : obtient / définit la couleur d'arrière-plan du rectangle de l'onglet actuellement actif.Color ActiveTabForegroundColor : obtient / définit la couleur de premier plan du rectangle de l'onglet actuellement actif.Color BorderColor : Définit la couleur de la bordure dans le TabControl lui-même et autour des ongletsbool UseRoundedCorners : Obtient ou définit une valeur indiquant si les contrôles de la page d'onglet ont un rayon d'angle ou non.Bitmap[] UpDownImages : obtient ou définit les images actuellement utilisées pour le contrôle Updown. [0] = gauche, [1] = droite, [2] = gauche (désactivé), [3] = droite (désactivé)A les caractéristiques supplémentaires suivantes:
Alignment Top et BottomMultiline n'est actuellement pas prise en chargeExpose les propriétés supplémentaires suivantes:
Color BorderColor : obtient / définit la couleur de la bordure autour de la zone de texteColor PlaceholderForeColor : obtient / définit la couleur de premier plan du texte de l'indiceColor ForeColor : Obtient / Définit la couleur de premier plan du texte non-pointestring PlaceholderText : obtient / définit la valeur à afficher si aucun texte fourni par l'utilisateur ou texte par défaut n'est affichébool IsDelayActive : Obtient / Définit une valeur indiquant si l'événement TextChanged doit être déclenché uniquement après une durée spécifiée.DelayedTextChangedTimeout : obtient / définit le temps de retard pour déclencher l'événement TextChanged après la dernière entrée utilisateurA les caractéristiques supplémentaires suivantes:
TextChanged Avec le StylableMessageBox , vous pouvez créer des formulaires similaires à MessageBox , mais la manipulation est un peu différente car nous vous permettons de styliser le formulaire avant de le montrer.
Créons d'abord une boîte de message:
StylableMessageBox mBox = StylableMessageBox . BUILDER
. WithTitle ( "This is a text" , MessageBoxIcon . Information )
. WithText ( "This is an example of a stylable MessageBox" )
. Build ( ) ; Cela créera une boîte de message avec un titre et un message et - car nous n'avons pas fourni d'autres informations - un bouton OK. Maintenant, stylissons le formulaire comme nous le voulons: mBox.StylableControls.Text.ForeColor = Color.Red; Enfin, vous pouvez afficher la boîte de dialogue à l'aide de mBox.ShowDialog()
Remarque: Si vous modifiez la taille des commandes (par exemple, augmentez la taille de la police), veuillez appeler UpdateSize() pour mettre à jour l'interface utilisateur vers les nouveaux paramètres. Sinon, l'interface utilisateur peut avoir l'air bizarre.
Avec le StylableInputBox , vous pouvez créer des formulaires similaires à VB.Nets Interaction.InputBox mais la manipulation est un peu différente (car il s'agit pratiquement d'un StylableMessageBox légèrement différent). Par conséquent, nous vous permettons de coiffer et d'ajuster le formulaire avant de le montrer.
Créons d'abord une boîte d'entrée:
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 ) ; Cela créera une boîte d'entrée pour les valeurs numériques (actuellement, nous prenons en charge le texte via TextBox et l'entrée numérique via NumericUpDown ). Maintenant, stylissons le formulaire comme nous le voulons: iBox.StylableControls.Text.ForeColor = Color.Red; Enfin, vous pouvez afficher la boîte de dialogue à l'aide iBox.ShowDialog() et d'utiliser son DialogResult ou iBox.Value pour faire entrer l'entrée par l'utilisateur.
Remarque: Si vous modifiez la taille des commandes (par exemple, augmentez la taille de la police), veuillez appeler UpdateSize() pour mettre à jour l'interface utilisateur vers les nouveaux paramètres. Sinon, l'interface utilisateur peut avoir l'air bizarre.
Veuillez consulter le guide contributif pour plus d'informations.