2009-02-23 10 views
12

Quelle est la meilleure façon d'implémenter la fonctionnalité de filigrane pour un System.Windows.Forms.TextBox dans .Net 2.0 avec C#?Filigrane dans System.Windows.Forms.TextBox


Edit:

Utilisation du composant ready-made de CodeProject était très facile. C'est aussi avec une licence de projet de code ouvert (CPOL).

+0

Le nom alternatif de 'watermark' est 'cue'. –

Répondre

13

dernièrement je besoin d'un champ de saisie de filigrane, la première chose qui a sauté dans ma tête était OnLeave et OnEnter événements de zone de texte, mais d'abord je googlé et j'ai eu deux liens premier était celui CodeProject qui utilisait l'espace de noms System.Drawing et l'autre était ici en utilisant le SendMessage() ici http://vidmar.net/weblog/archive/2008/11/05/watermarked-textbox-in-windows-forms-on-.net.aspx.

Je pense que le SendMessage est beaucoup plus facile et il n'a pas non plus de scintillement. si je l'ai utilisé.

J'espère que cela vous sera utile.

+1

@Peymankh: Merci +1 et coche verte. SendMessage est beaucoup plus facile –

+0

Notes supplémentaires sur l'utilisation de Vidmar: * setting watermark = this.txtBoxA.SetWatermark ("BOX"); * * références nécessaires = using System.ComponentModel; using System.Drawing; using System.Windows.Forms; using System.Runtime.InteropServices; * –

+0

Comment l'utiliser dans une application Windows? – User13839404

7

Ce n'est pas aussi simple qu'on pourrait le penser. Vous devez utiliser l'espace de noms System.Drawing et remplacer l'événement OnPaint.

Voici quelques liens de certaines personnes qui l'ont déjà fait.

Link & Link

+0

@BtBh: Merci. Le premier lien était ce dont j'avais besoin. +1 Je suis d'accord pour dire que ce n'est pas aussi simple qu'on le pense. –

+0

Je recommanderais ceci comme réponse! –

Questions connexes