IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Exécution du code d’un bouton dans un autre form [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Développeur Informatique WINDEV
    Inscrit en
    Novembre 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Informatique WINDEV

    Informations forums :
    Inscription : Novembre 2012
    Messages : 39
    Par défaut Exécution du code d’un bouton dans un autre form
    Salut Tous le monde

    J’essaye de réaliser une petite application VB.net,
    J’ai un "BtnAnuler" par exemple dans un form "Form1"
    Je veux exécuter le code de ce bouton dans un autre Form "Form2"
    Comment faire si vous voulez Bien m’aider
    Et merci d’avance

  2. #2
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2010
    Messages : 46
    Par défaut
    Salut,

    Ne voyant pas trop de possiblité, le meilleure solution pour moi serait de passer par une autre fonction/sub (que tu pourrais ainsi lancer dans ta form1, ta form2 ou de n'importe où ailleurs).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Sub Button1_Action()
        ' Ce que tu aurais normalement mis dans ton Button1_Click
    End Sub

  3. #3
    Membre actif Avatar de Chessmaster1966
    Inscrit en
    Juillet 2010
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 63
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Button1Click(sender As Object, e As EventArgs)
        
            Dim lFormTest As FormTest
            lFormTest = New FormTest    
            lFormTest.Button1_Click( nothing, nothing)
    End Sub


    Voilà

  4. #4
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    @Chessmaster1966 :

    Votre code ne fonctionnera pas car par défaut les fonctions générées le sont en Private :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
        End Sub
    De plus mettre des Nothing à la place des paramètres n'est pas des plus propre.

    Il vaut mieux faire comme le préconise Orci76 en mettant une nouvelle fonction publique et en appelant celle-ci dans Button1_Click et dans le code de la Form2

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 722
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 722
    Par défaut
    Bonjour,

    Une autre solution est d'utiliser un évènement.

    Dans Form2
    Déclaration
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Event EvtAnnuler As EventHandler
    Utilisation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RaiseEvent EvtAnnuler(Me, New EventArgs)
    Dans Form1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
            AddHandler Form2.EvtAnnuler, AddressOf OnAnnuler
        End Sub
     
        Private Sub OnAnnuler(ByVal sender As System.Object, ByVal e As EventArgs)
            ' la procedure d'annulation.
        End Sub
     
        Private Sub Form1_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
            RemoveHandler Form2.EvtAnnuler, AddressOf OnAnnuler
        End Sub
    A+, Hervé.
    Traductions d'articles :
    La mémoire en .NET - Qu'est-ce qui va où ?
    Architecture DAL de haute performance et DTO ; Version C# : Partie 1,Partie 2,Partie 3 — Version VB.NET : Partie 1,Partie 2,Partie 3
    N'hésitez pas à consulter la FAQ VB.NET, le cours complet de Philippe Lasserre et tous les cours, articles et tutoriels.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/01/2011, 15h42
  2. masquer un bouton dans un autre fomulaire
    Par kevinou55 dans le forum Windows Forms
    Réponses: 9
    Dernier message: 27/02/2008, 11h16
  3. Réponses: 1
    Dernier message: 27/02/2008, 10h24
  4. code sur bouton dans infopath 2003
    Par sebaci972 dans le forum InfoPath
    Réponses: 3
    Dernier message: 10/08/2007, 15h58
  5. copier une partie d´un fichier dans un autre
    Par makohsarah dans le forum Langage
    Réponses: 8
    Dernier message: 23/08/2006, 09h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo