TextBox + coller

Résolu
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 5 janv. 2006 à 12:53
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 5 janv. 2006 à 14:57
Bonjour à tous,

J'ai un textbox que j'ai dérivé pour qu'il n'accepte que les valeurs numériques et je voudrais détécter quand on fait un coller que le presse papier contient bien du texte numérique. Donc j'ai dérivé mon TextBox sous cette form ( en gros ) :

public class MyTextBox : TextBox
{
private const int WM_PASTE = 0x0302;

public MyTextBox( ) : base( )
{

}

protected override void WndProc( ref Message m )
{
if ( m.Msg == WM_PASTE )
{
MessageBox.Show( "WM_PASTE" );
/* Je verifie que this.Text est correct
sinon this.Text = "0" ; */
}

base.WndProc( ref m );
}
}

J'intercepte le Message Windows PASTE pour détecter si un coller à été effectué et je verifie si this.Text est correct et si il n'est pas correct (il contient des lettres) je met un 0 automatiquement. Donc le problème est que l'evenemnt TextChanged de mon textbox se declechenche avant que ce control est été effectué, ce qui fait que ma verification ne sert pas beaucoup. Car en faite ce que je veux faire c'est que quand l'evenemnt textchanged se produit je lance une fonction qui multipli this.Text * 19.6.... Je veux utiliser textchanged en faite car quand on fera un coller avec la souris ca lancera ma fonction de multiplication, puisque le texte à été changer ce qui n'est pas le cas de keydown, keyup etc....

Voila je sais pas si j'ai été bien clair, si qq avait une solution.

Par avance, merci.

6 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
5 janv. 2006 à 13:32
je sais parfois, il m'arrive d'être casse c***lle... mais pourquoi avoir dérivé un textbox alors qu'il est si simple d'utiliser un NumericUpDown ?

Sébastien FERRAND
[MVP C#]
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
5 janv. 2006 à 14:12
non... malheureusement... à part ça, ce controle est parfait !

Sébastien FERRAND
[MVP C#]
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
5 janv. 2006 à 14:54
en surchargeant la méthode OnPaint... non... regarde la structure du controle avec Reflector, tu comprendras.

Sébastien FERRAND
[MVP C#]
3
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
5 janv. 2006 à 14:01
Ben j'y ais pas pensé mais je viens d'essayer et ca m'a l'air niquel ca prend la virgule de la culture par défaut ca detecte si ce qui est coller est bien du numérique, le seul hic c'est les deux petites flèches à droite, tu ne sais pas si on peut les virers ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
5 janv. 2006 à 14:13
Avec Paint tu penses que c'est jouable ?
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
5 janv. 2006 à 14:57
ok, merci, je vais voir ce que je peux faire alors
0
Rejoignez-nous