Text box, ajout de propriétés

Résolu
nours87 Messages postés 33 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 5 octobre 2007 - 2 août 2007 à 10:33
nours87 Messages postés 33 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 5 octobre 2007 - 3 août 2007 à 14:53
Bonjour a tous,

Désolé si je ne suis pas au bon endroit, je ne sais pas si ma question rentre bien dans ce thème.

Voila j'utilise des textbox pour lire des valeurs entrées par l'utilisateur de mon logiciel.
J'aimerais savoir si il était possible de créer de nouvelles propriétés à une textbox. Par propriétés (je début donc je ne sais pas si j'emploie le bon nom) j'entend textbox1.text, textbox1.name etc...

Je voudrais créer par exemple textbox1.var = variable1 (double)ou textbox1.min valeur_min (integer) , textbox1.max valeur_max (integer).

Pourquoi? Car lorsque je valide la valeur de cette textbox (utilisation de l'évènement validating), j'utilise un test utilisant le min, le max de la variable en question; Surtout je le fais pour plusieurs variables consécutivement et si je pouvais faire ainsi ma sub pourrait être standardisée.

Private

Sub Textbox_Mavariable_Validating(
ByVal sender
As
Object,
ByVal e
As System.ComponentModel.CancelEventArgs)
Handles Textbox_Mavariable.Validating

J'utilise sender.text, sender.min, sender.max et je peux faire ce que je veux ensuite sur sender.variable. 20 variables ==> 1 subroutine alors que jusque là 20 varirables ==> 20 subroutines.

Je vous remercie d'avance de votre aide.

A +

12 réponses

PurBonheur Messages postés 66 Date d'inscription samedi 24 février 2007 Statut Membre Dernière intervention 7 octobre 2007 1
2 août 2007 à 11:31
Salut, 'J'aimerais savoir si il était possible de créer de nouvelles propriétés à une textbox' : Oui c'est possible il faut que tu créer une nouvelle classe TextBox qui hérite de la classe TextBox, et que tu implémente ta propriété. Mais si tu est débutant c'est un peu compliqué.

A plus.
3
Utilisateur anonyme
2 août 2007 à 11:36
Voilà un exemple :



Public Class TextBoxPerso
  Inherits System.Windows.Forms.TextBox

  Private _Min As Integer
  Private _Max As Integer

  Public Property Min() As Integer
    Get
      Return _Min
    End Get
    Set(ByVal value As Integer)
      _Min = value
    End Set
  End Property
  Public Property Max() As Integer
    Get
      Return _Max
    End Get
    Set(ByVal value As Integer)
      _Max = value
    End Set
  End Property

End Class,

----

(Nouveau forum VBA/Office
3
nours87 Messages postés 33 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 5 octobre 2007
2 août 2007 à 11:37
Ah, oui je suis débutant. IL n'y a pas quelque part un morceau de code qui me permetterait d'avoir un exemple?

En tout cas mesci je vais essayer de chercher de mon côté.

++
0
nours87 Messages postés 33 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 5 octobre 2007
2 août 2007 à 11:38
Oups j'ai répondu avant d'avoir vu la réponse de Charles Racaud, Merci!
0

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

Posez votre question
nours87 Messages postés 33 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 5 octobre 2007
2 août 2007 à 13:11
Après avoir lu quelques tutos sur les classes et les usercontrol j'ai pu créer la textbox personnalisée avec des propriétés en plus.

Merci!
0
nours87 Messages postés 33 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 5 octobre 2007
2 août 2007 à 13:42
Ah ba non je peux pas créer de controle utilisateur...
J'ai pas le modèle de conception de controles avec vb 2005 express...

Vous avez une solution??
0
Utilisateur anonyme
2 août 2007 à 13:49
Ajoute un fichier code vide et colle dans celui-ci :

Public Class NomDuControl
  Inherits System.Windows.Forms.UserControl



End Class




__________
Kenji

(


Nouveau forum VBA/Office
0
nours87 Messages postés 33 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 5 octobre 2007
2 août 2007 à 14:05
Oui mais si je veux hériter de la class textbox il faut que je mette le même code que

Public Class TextBoxPerso
  Inherits System.Windows.Forms.TextBox

non?
0
Utilisateur anonyme
2 août 2007 à 14:16
Exactement.







__________
Kenji

(


Nouveau forum VBA/Office
0
nours87 Messages postés 33 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 5 octobre 2007
2 août 2007 à 14:27
IL y a un truc que je ne saisi pas :

Pour créer un controle utilisateur il faut que j'utilise la class Usercontrol, mais en même temps je dois hériter de la class Textbox. Comment je fais si je veux faire les deux.

J'ai regardé un usercontrol que j'utilise (Ucgraph) dans son Ucgraph.designer il a noté qu'il hérite de la class Usercontrol, mais dans son Ucgraph.vb il défini une nouvelle fois la classe Ucgraph mais il n'y a rien marqué comme héritage.

Moi si je tente de mettre dans le textboxperso.designer Usercontrol comme class ca va, mais dans le textboxperso.vb si je met la class textbox il couine. Normal je pense car il hérite de deux classes à la fois.

Je tente de modifier dans le textboxperso.designer et de passer l'héritage de Usercontrol a Textbox mais il me met une erreur et ne reconnait pas AutoscaleMode.
 
(Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font)

Normalement je ne dois pas toucher au .designer.

Je suis perdu, je ne sais pas comment me sortir de cette affaire.
0
Utilisateur anonyme
2 août 2007 à 21:39
Pourquoi tu ne devrais pas toucher au designer ?
Une héritation de TextBox n'est pas la même chose qu'un UserControl.
Pour hériter ton TextBox, tu n'as pas besoin d'un designer. Part d'une classe vide.







__________
Kenji

(


Nouveau forum VBA/Office
0
nours87 Messages postés 33 Date d'inscription jeudi 19 juillet 2007 Statut Membre Dernière intervention 5 octobre 2007
3 août 2007 à 14:53
En effet, cela marche.

J'ai pu simplifier mon code et lui faire perdre 1/3 de se taille.
Merci
0
Rejoignez-nous