Lorsqu'un élément WinForm est désactivé, il grise. Est-il possible de désactiver un élément, mais ajuster le style désactivé afin qu'il semble toujours activé (non grisé)?Comment changer le style d'un contrôle désactivé?
3
A
Répondre
5
Empêcher un contrôle focalisable de prendre la mise au point prend un certain nombre de contre-mesures. Vous devrez inclure un contrôle qui -t prendre le focus de cette classe à résister à toutes les tentatives:
using System;
using System.Windows.Forms;
class RichLabel : RichTextBox {
public RichLabel() {
this.ReadOnly = true;
this.TabStop = false;
this.SetStyle(ControlStyles.Selectable, false);
}
protected override void OnEnter(EventArgs e) {
if (!DesignMode) this.Parent.SelectNextControl(this, true, true, true, true);
base.OnEnter(e);
}
protected override void WndProc(ref Message m) {
if (m.Msg < 0x201 || m.Msg > 0x20e)
base.WndProc(ref m);
}
}
0
Le style désactivé fait partie du comportement standard de Windows. Si vous voulez changer le style, vous devrez dessiner le contrôle vous-même, ce qui signifie que vous devrez gérer la méthode Paint
, et devrez peut-être surcharger OnPaint
.
Voir Overriding the OnPaint Method et Custom Control Painting and Rendering.
Questions connexes
- 1. WP7 Désactivé Style de bouton
- 2. comment changer backcolor pour ComboBox désactivé
- 3. Comment changer le style de trait?
- 4. Comment changer le style de plusieurs éléments?
- 5. Comment changer le lien si JS est désactivé et activé?
- 6. Comment changer la couleur de la police d'un TextBox désactivé?
- 7. pour changer le style de div
- 8. WPF ContentControl: comment changer l'opacité du contrôle en mode désactivé dans un fichier .cs?
- 9. Comment changer le contrôle soure de TFS?
- 10. Comment changer le style div parent si le contenu augmente?
- 11. changer le style sur un CFGRID
- 12. Comment changer modèle de contrôle de Style.Triggers
- 13. Changer le style d'une barre de progression
- 14. changer le style des fenêtres de l'application
- 15. changer le style de div après dragdrop
- 16. MVC, changer le style de lien d'action
- 17. Comment changer le style de police pour spinner article
- 18. Comment puis-je changer le style d'animation d'un UIViewController modal?
- 19. Comment changer le style du curseur dans Android?
- 20. Comment changer le style de String dans SWT?
- 21. comment changer le style de reCaptcha comme stackoverflow et facebook
- 22. Comment puis-je changer le style d'un ProgressBar en petit?
- 23. Comment changer le style d'animation d'un accordéon jQuery?
- 24. WPF Style: comment changer GradientStop couleur Trigger
- 25. changer le style et le thème de l'application Android
- 26. contrôle de répéteur lorsque javascript est désactivé
- 27. Comment changer les propriétés de style de HTML.Label?
- 28. Le texte en mode désactivé et le bouton de style CSS indiquent le mouvement dans IE
- 29. Est-il possible de changer dynamiquement le style/modèle d'un contrôle?
- 30. wpf gridlines - changer de style
Avez-vous des suggestions pour la désactivation d'un RichTextBox? J'utilise un pour ses fonctionnalités d'auto-dimensionnement, mais je ne veux pas que les utilisateurs puissent manipuler les données contenues. Existe-t-il un meilleur moyen de désactiver le RichTextBox, mais le faire ressembler à une étiquette régulière? (peut-être ajouter un événement?) – sooprise
Si vous ne voulez pas que les utilisateurs modifient le jeu de texte 'myRichTextBox.IsReadOnly = true;' –
Minuscule correction: myRichTextBox.ReadOnly = true; En outre, je peux toujours cliquer à l'intérieur de la boîte et lire le texte. Y at-il un moyen de rendre impossible de cliquer même dans (sans désactiver). Merci cependant, cela a aidé, et c'est un pas dans la bonne direction. – sooprise