Ajouter une propriété à un objet

Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Dernière intervention
30 mars 2016
- - Dernière réponse : NHenry
Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
- 16 nov. 2015 à 22:42
Bonjour,
Je souhaite ajouter une propriété "Numeric" à un textbox. Cette propriété serait binaire par défaut à false et si on la met à true elle ne permet que la saisis de nombre. Je sais déjà faire avec l'événement on keypress.

private void textBoxReel_KeyPress(object sender, KeyPressEventArgs e)
{
string Caractère = e.KeyChar.ToString();

if (!(char.IsNumber(e.KeyChar)|| Caractère.Equals(",")|| Caractère.Equals(" ") || Caractère.Equals("-")))
//Vérifie si le caractère est un nombre ou une virgule un espace ou le -
{
toolTipCaracNum.Show("Seuls les caractères numériques sont acceptés dans cette zone.",textBoxReel,3000);
e.Handled = true;//Valide l'action se qui fait quele caractère est considéré comme traité et ne sera pas affiché

}
}

Par contre même si je programme depuis des décennies dans plein de code différent je suis débutant en C# ; merci donc de me donner des explications pour débutant.
Afficher la suite 

Votre réponse

3 réponses

Messages postés
12409
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 décembre 2018
0
Merci
Bonjour,

tu ne peux pas ajouter une propriété à un objet dont tu n'as pas le code.

Par contre, tu peux le dériver et ajouter cette propriété à l'enfant.
Whismeril
Messages postés
12409
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 décembre 2018
-
Par contre si tu as juste besoin d'une info quelconque (dont booléenne) tu peux utiliser la propriété Tag
Commenter la réponse de Whismeril
Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
0
Merci
Tu peux avoir cela en dérivant (héritage) la classe TextBox, pour ensuite lui donner le comportement désiré.
Commenter la réponse de NHenry
Messages postés
222
Date d'inscription
mercredi 8 septembre 2004
Dernière intervention
30 mars 2016
0
Merci
Merci.
J'ai aussi essayé ça sans succés.
J'ai fais plein d'essais avec les codes que j'ai trouvé sur ce site et sur MSDN, et ils sont nombreux.
J'ai donc créé une classe NumericBox qui dérive de la classe textbox comme dans ce code "http://codes-sources.commentcamarche.net/source/31894-textbox-numerique", mais je ne vois jamais apparaître l'outil numericbox dans la boite à outil.
Je n'ai pas osé déterré cette discussion je suis en VS2015.
Quand il est dit de créer une classe dans le projet. Ca veut dire au niveau de la solution ou au niveau en dessous ?
Whismeril
Messages postés
12409
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
17 décembre 2018
-
Nos messages se sont croisés, as tu essayé avec Tag?

Peux tu poster le code de la classe dérivée?
NHenry
Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
Pour ajouter le contrôle, il faut le marquer avec un attribut :
https://social.msdn.microsoft.com/Forums/en-US/bdd57212-4422-47b6-8a43-79ebdc80d209/how-to-keep-custom-controls-in-the-toolbox-please
C'est un exemple en VB.NET, mais si à la place des <> tu mets des [], ça passe.
Commenter la réponse de cs_VinceVG

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.