J'utilise un contrôle personnalisé transparent basé sur RichTextBox. Est-il possible d'avoir un support de char de mot de passe comme dans le contrôle TextBox normal.Mot de passe char pour RichTextBox
Répondre
C'est simple, RTB implémente la prise en charge de la saisie de mot de passe. Il n'est tout simplement pas exposé dans l'encapsuleur .NET. Ajoutez une nouvelle classe à votre projet et collez le code ci-dessous. Compiler. Déposez le nouveau contrôle du haut de la boîte à outils sur votre formulaire.
using System;
using System.Windows.Forms;
class RichPassword : RichTextBox {
protected override CreateParams CreateParams {
get {
// Turn on ES_PASSWORD
var cp = base.CreateParams;
cp.Style |= 0x20;
return cp;
}
}
}
Oui, il y a un moyen. Vous devez intercepter les touches avant de les dessiner (recherchez PreviewKeyDown ou des événements similaires) et remplacez-les par des astérisques (*). Mais vous devez également implémenter une logique pour gérer la chaîne de caractères réels.
Remarque Je suis d'accord avec le commentaire de Cody Gray.
Il est également intéressant de noter que la norme Le contrôle Win32 'TextBox' fait un * lot * de plus lorsqu'il est configuré pour stocker les mots de passe plutôt que d'afficher simplement des caractères sous forme d'astérisques/de puces. Par exemple, cela désactive également la copie d'un mot de passe hors de la zone de texte. Vous êtes sur le point de commencer à faire rouler une pierre en essayant de faire tout cela vous-même, même si vos exigences en matière de sécurité sont «limitées». –
@Cody - google "révélateur de mot de passe". –
@Hans: J'ai des choses indicibles dans mon sac de trucs. La plupart des choses sont craquables au * niveau * si vous êtes prêt à essayer assez dur. Je dis juste, il est beaucoup plus probable que l'utilisateur moyen pense à copier et coller un mot de passe d'une zone de texte que d'avoir un révélateur de mot de passe. Le demandeur a mentionné que les problèmes de sécurité sont «limités», donc je pense que cela laisse de côté ceux qui ont recours à ce type de logiciel, mais pas ceux qui connaissent le raccourci clavier Ctrl + C. –
Cela a fonctionné pour moi et a résolu le but.
Public Class RichPassword
Inherits RichTextBox
Private Const ES_PASSWORD = 32
Protected Overrides ReadOnly Property CreateParams As CreateParams
Get
Dim CP = MyBase.CreateParams
CP.Style = CP.Style Or 32
Return CP
End Get
End Property
End Class
- 1. changer le mot de passe char en HTML
- 2. Mot de passe et confirmer le mot de passe
- 3. récupération de mot de passe pour drupal
- 4. expression régulière pour mot de passe
- 5. Mot de passe Protéger pour le plaisir
- 6. JavaScript pour valider le mot de passe
- 7. Tuyauterie mot de passe pour smbpasswd
- 8. Cryptage de mot de passe
- 9. Enregistrer le mot de passe crypté et le mot de passe ou simplement stocker le mot de passe crypté?
- 10. Cryptage du mot de passe
- 11. Mot de passe Windows Hashed
- 12. Android Mot de passe GUI
- 13. cryptage du mot de passe
- 14. perl mot de passe confirmation
- 15. Confirmer le mot de passe?
- 16. MVVM Reliure Mot de passe
- 17. MVVM et mot de passe
- 18. adhésion changement mot de passe
- 19. Mot de passe SQL Server
- 20. Chiffrement du mot de passe
- 21. Problème lors de la recherche du mot suivant dans RichTextBox
- 22. RichTextBox
- 23. Réponse de l'accès VBA lors de la remise mot de passe incorrect pour l'importation de mot de passe crypté
- 24. Formulaires de mot de passe multiples + complétion de mot de passe
- 25. Authlogic et mot de passe et mot de passe de confirmation des attributs - inaccessible?
- 26. Mot de passe du modèle utilisateur champ Champ de mot de passe par défaut dans django
- 27. Mètre de force de mot de passe
- 28. Formulaires Aide Mot de passe et Confirmer le mot de passe
- 29. Changement de mot de passe de Sharepoint
- 30. changer le mot de passe utilisateur asp.net en récupérant le mot de passe actuel
* Pourquoi * voudriez-vous entrer un mot de passe dans un 'RichTextBox'? Il semble que vous utilisiez le mauvais contrôle pour le travail. Il n'est explicitement pas * conçu * pour entrer des mots de passe, et pourrait présenter un risque de sécurité. –
Cela faisait partie des exigences de conception de l'interface utilisateur pour que l'application dispose d'un contrôle d'édition de texte avec un arrière-plan dégradé. La sécurité n'est pas un problème, cette application a des exigences de sécurité très limitées. – user976535
S'agit-il d'une application WinForms ou WPF? Chaque fois que vous dites que "les exigences de conception d'interface utilisateur" l'emportent sur tout type de fonctionnalité réelle, qui crie juste pour l'application à écrire dans WPF ... –