Procedure Dynamique

Résolu
DarkKnife Messages postés 12 Date d'inscription dimanche 7 mai 2006 Statut Membre Dernière intervention 24 janvier 2009 - 24 janv. 2009 à 13:16
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 24 janv. 2009 à 14:44
Savez vous si l'on peux créer en VB.NET des procedures de cette manière

Pour i de 1 a 20

Procedure Clic_boutton(cpt) (Parametre...)

Instructions

Fin Procedure

Fpour

10 réponses

PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
24 janv. 2009 à 14:35
le sender est un OBJET
en l'occurrence c'est bien le CONTROL bouton, mais un OBJET n'a pas de nom, seul un CONTROL en a un.
il faut donc convertir l'objet en control



    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        MessageBox.Show(GetControlName(sender))
    End Sub

    Function GetControlName(ByRef sender As System.Object) As String
        If sender Is Nothing Then
            Return String.Empty
        Else
            Dim oCtrl As New Control
            oCtrl = DirectCast(sender, Control)
            Dim sRet As String = oCtrl.Name
            oCtrl = Nothing
            Return sRet
        End If
    End Function
<!-- Coloration syntaxique vb/vba/vb.net : http://charles.racaud.free.fr/code-syntaxing/ -->
Coloration syntaxique vb/vba/vb.net
3
cs_ghuysmans99 Messages postés 3983 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
24 janv. 2009 à 13:26
En VB6 (normalement facile à adapter en .NET) :
Option Explicit

Private Sub Command1_Click()
 MsgBox "cliqué"
End Sub<hr />
Public Sub AppelleBouton()
 Dim i As Integer
 For i = 1 To 20
  Command1_Click
  MsgBox "boucle ..."
 Next i
End Sub<hr />
Private Sub Command2_Click()
 AppelleBouton
End Sub<hr />, ----
[code.aspx?ID=41455 Syntax color by Renfield]
0
DarkKnife Messages postés 12 Date d'inscription dimanche 7 mai 2006 Statut Membre Dernière intervention 24 janvier 2009
24 janv. 2009 à 13:40
j'ai pas trop le choix pour VB , je suis en BTS Informatique de Gestion et on m'impose ce langage ^^

je vais essayer d'adapter ce joli pti bout de code qui pourrait bien me sauvé la vie !
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
24 janv. 2009 à 13:50
salut,

en VB.NET le fonctionnement est un peu différent

en VB6 on appellera directement la procédure
Command1_Click()
comme l'indique

[../auteur/GHUYSMANS99/549970.aspx ghuysmans99]





en VB.NET il y a des paramètres un peu partout (évènement), obligeant d'indiquer un sender ou autre.
on passera alors par des procédures intermédiaires

c'est à dire que tu vas créer une procédure genre ActionClick_Once et y mettre le code qui est actuellement dans ta procédure ClickBouton1

au Click du bouton 1, tu appelles ActionClick_Once
au Click du bouton 2, tu boucles 20 fois sur l'appel de
ActionClick_Once




++

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0

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

Posez votre question
DarkKnife Messages postés 12 Date d'inscription dimanche 7 mai 2006 Statut Membre Dernière intervention 24 janvier 2009
24 janv. 2009 à 13:50
le truc c'est que il me faut par exemple 20 procédures boutons différentes !

en gros j'ai X boutons qui se génère selon un résultat SQL.

et lorsque je clique sur le bouton il doit m'envoyer sur un autre Form , avec des paramètres précis !

le truc c'est que la j'ai une exécution de Bouton général pour tous et aucun moyen de savoir si c'est le bouton 1 ou 23 a la base...
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
24 janv. 2009 à 13:54
si, justement par le paramètre SENDER
0
DarkKnife Messages postés 12 Date d'inscription dimanche 7 mai 2006 Statut Membre Dernière intervention 24 janvier 2009
24 janv. 2009 à 13:56
j'arrive pas a exploiter ce paramètre justement.
0
DarkKnife Messages postés 12 Date d'inscription dimanche 7 mai 2006 Statut Membre Dernière intervention 24 janvier 2009
24 janv. 2009 à 14:10
en faisant

        MsgBox(sender.ToString())

je recois seulement le .text du bouton envoyant, dommage, mais bon ca me donne une possibilité.
0
DarkKnife Messages postés 12 Date d'inscription dimanche 7 mai 2006 Statut Membre Dernière intervention 24 janvier 2009
24 janv. 2009 à 14:16
YOUPI je crois que je le tien !

j'ai ecrit :

        MsgBox(sender.Tag + 1)

et il me renvoie la valeur Tag de mon Bouton, par contre on dirais que je dois mettre + 1 pour obtenir la "bonne" valeur, bizarre  ! mais on dirais bien que mon problème est résolu !
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
24 janv. 2009 à 14:44
petite modif pour tester également le TYPE CONTROL

http://codyx.org/snippet_recuperer-nom-controle_769.aspx
0