Tableau de axmaskedbox en vb.net

Soyez le premier à donner votre avis sur cette source.

Vue 8 051 fois - Téléchargée 213 fois

Description

en Vb.Net l'activeX AxMaskEdBox existe pas, mais on peut référencier la version de VB6.0

si on passe par l'éditeur de form de VB.Net, aucun problème, c'est identique à VB6.0. Mais si on le crée par du code, comme faire faire un tableau de AxMaskEdBox, là ça plante.

en fait, il y a un technique qui permet de le faier quand même avec le mask compris. Pour le fun, essayer de trouver le mask, il se trouve pas dans le code ni dans la référance de la form. En fait, je l'ai jamais trouver lol Donc comment mettre un mask alors. Voici comment faire.

tout d'abord référencier AxMaskEdBox qui devrais être dans votre répertoire system si vous avez VB6.0 d'installé (sinon je l'ai zipper pour ceux qui ont pas VB6.0). Pour référencier, clic droit sur référence dans le solution explorer.

une fois référencier, il va se placer dans "Mes contrôles utilisateur" dasn votre boite à outils ou toolbox.

mettez le sur la form que vous le voulez (??? je veux le créer par du code, par par l'éditeur ?? Je sais, masi faut passer par là, comme ça il va écrire le mask quelques part (si quelques sait où, ça serait gentil)) mettre le mask, son nom et la configuration que vous voulez.

Ensuite, allez dans le code et affacer sont affectation à la form (ce qui se trouve sur InitializeComponent qui se rapporte à AxMaskEdBox).

ensuite reste plus qu'à le coder dans le code, mais va faloir ajouer ceci est plus (form veut dire le nom de la form où AxMaskEdBox se trouve, )
Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(form))

CType(Me.AxMaskEdBox (i), System.ComponentModel.ISupportInitialize).BeginInit()
et
CType(Me.AxMaskEdBox (i), System.ComponentModel.ISupportInitialize).EndInit()

Me.debut(i).OcxState = CType(resources.GetObject("debut.OcxState"),

et ça devrais fonctionner
voici un exemple (je place 2 tableau de AxMaskEdBox: debut et fin, et ils auront un mask du type ##:##)

Source / Exemple :


Friend debut() As AxMSMask.AxMaskEdBox
    Friend fin() As AxMSMask.AxMaskEdBox

Public Sub New()
        MyBase.New()

        'This call is required by the Windows Form Designer.
        InitializeComponent()
        Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(MsgChoixCheckDebutFin))

For i = 0 To 5
            CType(Me.debut(i), System.ComponentModel.ISupportInitialize).BeginInit()
            Me.debut(i).Location = New System.Drawing.Point(250, 15 + i * 20)
            Me.debut(i).OcxState = CType(resources.GetObject("debut.OcxState"), System.Windows.Forms.AxHost.State)
            Me.debut(i).Size = New System.Drawing.Size(50, 20)
            Me.Controls.Add(Me.debut(i))
            CType(Me.debut(i), System.ComponentModel.ISupportInitialize).EndInit()

            CType(Me.fin(i), System.ComponentModel.ISupportInitialize).BeginInit()
            Me.fin(i).Location = New System.Drawing.Point(320, 15 + i * 20)
            Me.fin(i).OcxState = CType(resources.GetObject("fin.OcxState"), System.Windows.Forms.AxHost.State)
            Me.fin(i).Size = New System.Drawing.Size(50, 20)
            Me.Controls.Add(Me.fin(i))
            CType(Me.fin(i), System.ComponentModel.ISupportInitialize).EndInit()

            Me.debut(i).CtlText = "06:30
            Me.fin(i).CtlText = "18:30"
        Next i
    End Sub

Conclusion :


remarquer bien Me.debut(i).OcxState = CType(resources.GetObject("debut.OcxState"),

c'est bien debut.OcxState et non debut(i).OcxState
faut faire attention

pour le reste, l'exemple devrait bien aider

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
2336
Date d'inscription
samedi 14 juillet 2001
Statut
Membre
Dernière intervention
5 mai 2009
5
nan, il y a rien, sur microsoft, ils disent, faite vous-même.

je sais très bien que c'est mieux l'avoir en VB.Net, mais beaucoup de monde l'utilise en VB6.0

perso, je préfère construire moi même, masi dasn mon cas que je l'ai utiliser, c'est que le mask fait plus de 15 caractère qui change presque sans arrêt.

pour une date ou un numéro de téléphone, il y a rien là le faier a main, sauf là, ça me tente pas de faire toute les validations.

j'ai voulu le couper en morceux mon textbox, mais mon box préfère en un bout grrrrr c'est pas lui qui programme, ça parait lol. Mais bon c'est lui le boss.

de toute façon, maskeditbox, c'est pas comme si c'était pas connu, comme un ocx fait par une personne. ce qui m'a le plus fait hésiter à l'utiliser, c,est que els COM prenne plus de ressource que ce qui est fait en .NET
Messages postés
117
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
2 juillet 2009
1
Evite d'importer des composants COM dans une solution DOT NET.... c'est pas top pour le deploiement des applis sur les postes clients.

Perso je suis dans une societe qui a fait beaucoup de VB6 et c'est un gros gros.... gros bordel pour retrouver toutes les DLL a 2Francs qui ont etes utilises en l'an 40 (et surtout ne pas faire certaines mises a jours), Alors des composants de VB6 dans un aplli VB NET.

Petite image pour faire le //
"Tu imagines une Ferrari avec un moteur de 2CV... ca ne doit pas faire le meme bruit."

Cherche dans le FrameWork, il doit y avoir ce que tu cherches. Si je trouve je te mail l'information.

@+ et bonne chance

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.