l0r3nz1
Messages postés218Date d'inscriptionmercredi 20 février 2008StatutMembreDernière intervention17 mars 2012 16 nov. 2010 à 14:26
bonjour,
pourquoi ne pas creer une classe textetbouton qui contient un textbox et eventuellement un bouton, on les abonne aux evenements.
dans ta classe:
this.toncontrole += new System.EventHandler(this.tafonction);
comme ca dans ton formulaire tu declare
textebouton moncontrol = new textebouton(textbox1,button1);
et tu a ton boutton et les evenements test valeurs par defaut et tout en une ligne, tu peux faire ca avec un seul control ou plusieur comme par exemple un scroll + tous les textbox d'un formulaire ou une case a cocher et un textbox... selon ta maniere de coder cela peut etre tres evolutif.
en plus c'est tres bien pour les feneants on place ses controles une fois et en une ligne on leur affecte des fonctions
bitshifter
Messages postés61Date d'inscriptionmardi 1 février 2005StatutMembreDernière intervention28 mai 20121 1 nov. 2010 à 16:41
Ce contrôle devrait peut-être présenter des options validation avec des valeurs par défaut.
txtValid.Validation = TRUE [sinon toute validation est ignorée]
txtValid.ValMax = 1700
txtValid.ValMin = 0
txtValid.TelephoneNoMask = [et ici mettre une liste "intellisense" avec possibilité de rajouter ce qui manque]
A l'extrème même valider des no de carte de crédit.
Bel effort!
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 27 oct. 2010 à 09:26
pour moi, le textbox est une zone de saisie. point.
si tu commences à mettre de la logique dans ton textbox tu vas au devant de problèmes d'évolutivités.
-> tu veux pouvoir saisir que des chiffres : tu crées un composant "IExtenderProvider"
l'idée est simple : il faut que ton application reste à la fois : simple et évolutive. tu serais surpris de voir tout ce qu'on peut faire avec les contrôles standards du framework.
D4rkTiger
Messages postés22Date d'inscriptionvendredi 11 novembre 2005StatutMembreDernière intervention23 septembre 2014 27 oct. 2010 à 09:01
Je suis d'accord dans le fait que c'est figé mais en même temps il s'agit d'un contrôle spécialisé donc on pourrait par exemple faire un contrôle spécialisé nombre qui fasse la validation des nombres (numérique, à virgule, ...), un contrôle qui valide des numéros de téléphones avec prise en charge native (=directement intégré) des numéros français, canadiens, et plus. Et ainsi de suite.
Rien n'empêche d'utiliser des Validators dans le contrôle spécialisé. Et il ne faut pas dire, le contrôle ne doit pas faire la validation. Il s'agit là purement d'un point de vue et non d'une règle de programmation en soit. Si le contrôle est destiné à un usage bien spécifique alors il peut embarquer sa propre validation afin de mieux cadrer son domaine d'utilisation. Si tu ne veux pas intégrer la validation, autant prendre le textbox simple et utiliser les validators mais le but de prendre ce genre de contrôle c'est justement de s'affranchir de ces développements répétitifs.
monsieurx12: l'idée est bonne comme je le disais mais la remarque de sebmafate sur le fait que ton contrôle est figé est exacte. Il faut que tu sépares les différents domaines d'applications et permettre également de pouvoir les étendre pour ceux qui en ont besoin notamment pour les numéros de téléphones. ;-)
Si tu as des questions sur ce point n'hésites pas à demander
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 27 oct. 2010 à 08:29
Oui... et non !
Oui, car l'idée de pouvoir valider automatiquement la saisie est intéressante...
Non, car c'est trop "figer" ! Comment, je fais demain si je veux pouvoir valider un numéro de téléphone français ? je modifie le contrôle ?
De plus, pour moi, ce n'est pas au contrôle lui-même de valider le contenu mais à un objet "spécialisé"... Microsoft utilise en ASP.net des contrôles Validator, il faut autant que faire se peut transposer l'idée en Windows Forms (http://www.csharpfr.com/codes/WINDOWS-FORMS-VALIDATORS_43575.aspx)
16 nov. 2010 à 14:26
pourquoi ne pas creer une classe textetbouton qui contient un textbox et eventuellement un bouton, on les abonne aux evenements.
dans ta classe:
this.toncontrole += new System.EventHandler(this.tafonction);
comme ca dans ton formulaire tu declare
textebouton moncontrol = new textebouton(textbox1,button1);
et tu a ton boutton et les evenements test valeurs par defaut et tout en une ligne, tu peux faire ca avec un seul control ou plusieur comme par exemple un scroll + tous les textbox d'un formulaire ou une case a cocher et un textbox... selon ta maniere de coder cela peut etre tres evolutif.
en plus c'est tres bien pour les feneants on place ses controles une fois et en une ligne on leur affecte des fonctions
1 nov. 2010 à 16:41
txtValid.Validation = TRUE [sinon toute validation est ignorée]
txtValid.ValMax = 1700
txtValid.ValMin = 0
txtValid.TelephoneNoMask = [et ici mettre une liste "intellisense" avec possibilité de rajouter ce qui manque]
A l'extrème même valider des no de carte de crédit.
Bel effort!
27 oct. 2010 à 09:26
si tu commences à mettre de la logique dans ton textbox tu vas au devant de problèmes d'évolutivités.
-> tu veux pouvoir saisir que des chiffres : tu crées un composant "IExtenderProvider"
l'idée est simple : il faut que ton application reste à la fois : simple et évolutive. tu serais surpris de voir tout ce qu'on peut faire avec les contrôles standards du framework.
27 oct. 2010 à 09:01
Rien n'empêche d'utiliser des Validators dans le contrôle spécialisé. Et il ne faut pas dire, le contrôle ne doit pas faire la validation. Il s'agit là purement d'un point de vue et non d'une règle de programmation en soit. Si le contrôle est destiné à un usage bien spécifique alors il peut embarquer sa propre validation afin de mieux cadrer son domaine d'utilisation. Si tu ne veux pas intégrer la validation, autant prendre le textbox simple et utiliser les validators mais le but de prendre ce genre de contrôle c'est justement de s'affranchir de ces développements répétitifs.
monsieurx12: l'idée est bonne comme je le disais mais la remarque de sebmafate sur le fait que ton contrôle est figé est exacte. Il faut que tu sépares les différents domaines d'applications et permettre également de pouvoir les étendre pour ceux qui en ont besoin notamment pour les numéros de téléphones. ;-)
Si tu as des questions sur ce point n'hésites pas à demander
27 oct. 2010 à 08:29
Oui, car l'idée de pouvoir valider automatiquement la saisie est intéressante...
Non, car c'est trop "figer" ! Comment, je fais demain si je veux pouvoir valider un numéro de téléphone français ? je modifie le contrôle ?
De plus, pour moi, ce n'est pas au contrôle lui-même de valider le contenu mais à un objet "spécialisé"... Microsoft utilise en ASP.net des contrôles Validator, il faut autant que faire se peut transposer l'idée en Windows Forms (http://www.csharpfr.com/codes/WINDOWS-FORMS-VALIDATORS_43575.aspx)