Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Thomas Lebrun

Tout sur WPF, LINQ, C# et .NET en général !

Actualités

[Silverlight 2] Une PasswordBox en Silverlight à utiliser dans vos projets

La contrôle PasswordBox est sans doute l'un des plus importants disponible avec le Framework .NET.

Non présent dans Silverlight 2, je m'en suis créé un pour les besoins d'un projet. Pour le faire, j'ai simplement hériter de la classe TextBox: on voit donc que le modèle de développement est le même qu'en WPF (Windows Presentation Foundation) Smile

Bien sur, ce contrôle n'est pas parfait, en grande partie à cause du fait que le contrôle TextBox ne donne aucune information sur la position du curseur (Caret): sans doute pour la version finale ? Wink

Quoiqu'il en soit, ce contrôle fonctionne et vous donne une idée de comment tout cela fonctionne.

/// <summary>

/// A control that represent a Password TextBox. As there is no information about the position of the caret,

/// the control is not perfect but all the logic is here.

/// </summary>

public class PasswordBox : TextBox

{

    public StringBuilder SecureText { get; private set; }

 

    public PasswordBox()

        : base()

    {

        this.SecureText = new StringBuilder();

        this.KeyDown += new KeyEventHandler(PasswordBox_KeyDown);

    }

 

    void PasswordBox_KeyDown(object sender, KeyEventArgs e)

    {

        if (e.Key != Key.Back)

        {

            this.SecureText.Append(e.Key.ToString().ToLower());

 

            this.Text = string.Empty;

 

            for (int i = 0; i <= this.SecureText.Length - 1; i++)

            {

                this.Text += "*";

            }

        }

        else

        {

            this.SecureText.Remove(this.SecureText.Length - 1, 1);

 

            this.Text.Remove(this.Text.Length - 1, 1);

        }

 

        e.Handled = true;

    }

}

 

A+

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: jeudi 20 mars 2008 11:45 par Thomas LEBRUN
Classé sous : ,

Commentaires

Thomas LEBRUN a dit :

Suite à une remarque de la part d'Adrien (Galo) sur MSN, il est possible de récupérer la position du curseur avec la propriété SelectionStart: l'Intellisense de VS n'est pas très efficace sur ce coup là....

# mars 20, 2008 14:42

sebmafate a dit :

accessoirement... via les apis, il est possible de créer une passwordbox en 2 lignes en partant de la textbox standard...

# mars 20, 2008 15:53

Thomas LEBRUN a dit :

@sebmafate: je ne sais pas si tu as vu mais ici, on parle de Silverlight.

Dans le cas d'une application Windows/WPF, c'est bcp plus simple (voir déjà implémenté) mais avec Silverlight, ca se complique :)

# mars 20, 2008 17:19
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- WPF : la gestion des dates (Label, TextBlock) par Pierrick's Blog le il y a 3 heures et 28 minutes

- [ASP.NET] - ASP.NET Generated Image par Aurelien's Blog - When ClientSide meets .Net le il y a 4 heures et 56 minutes

- Utiliser le SDK Open XML pour manipuler vos documents Office Open XML par Julien Chable le il y a 6 heures et 9 minutes

- [Silverlight] - Créer un contrôle réutilisable et des propriétés personnalisées. par Danuz le il y a 9 heures et 27 minutes

- Photosynth : Composez et partagez vos scènes ! par Blog technique de Nicolas Boonaert le il y a 9 heures et 30 minutes

- Comment d&#233;bugger un programme de g&#233;n&#233;ration de code utilis&#233; dans VS ? par Matthieu MEZIL le il y a 9 heures et 31 minutes

- Avoir une propriété sur l'object context qui renvoit les sous-entités par Matthieu MEZIL le il y a 9 heures et 43 minutes

- Sortie du SDK 1.1 de Visual Studio 2008 par Michel Perfetti [Miiitch] le il y a 12 heures et 17 minutes

- Skyfire, Silverlight sur votre mobile ! par alex# le il y a 12 heures et 34 minutes

- VSTSDB 2008 GDR CTP16 est arrivé par Noham Choulant le il y a 13 heures et 38 minutes