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 :

Comment lancer une commande au click d'un button


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Par défaut Comment lancer une commande au click d'un button
    Bonjour,

    Ma question a l'air trivial mais malgrès mes recherches, je n'y arrive pas.

    Voici ma problématique :
    A l'intérieur de ma procédure, je crée une fenêtre, et un button, et lors du click sur le button je veux lancer la procedure Button_Click


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    Public Class MyWindow
        Inherits System.Windows.Window
     
        Public Sub AfficheMaFenetre()
     
            Dim Fenetre As New Window
            Dim Button As New Button
            Button.Content = "Button"
            Me.AddChild(Button)
            Me.Visibility = Windows.Visibility.Visible
            Me.Activate()
     
     
        End Sub
     
        Public Sub Button_Click(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.button.KeyPress
     
            MsgBox("Button Click OK")
        End Sub
     
     
     
    End Class
    Merci d'avance

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Salut ^^

    En fait tu trompes sur l'action qui est concernée lors du clic sur le bouton. il que tu mettes :

    ++

  3. #3
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Par défaut
    Si je comprend bien d'après toi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Public Class MyWindow
        Inherits System.Windows.Window
     
     
        Public Sub AfficheMaFenetre()
     
            Dim Fenetre As New Window
            Dim Button As New Button
            Button.Content = "Button"
     
            Me.AddChild(Button)
            Me.Visibility = Windows.Visibility.Visible
            Me.Activate()
     
     
        End Sub
     
        Public Sub Button_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button.Activated
     
            MsgBox("Button Click OK")
     
        End Sub
     
    End Class
    Mais la j'obtiens une erreur de compilation :

    Erreur 28 La clause Handles requiert une variable WithEvents définie dans le type conteneur ou l'un de ses types de base.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Il faut dans ce cas que tu remplaces Dim (devant la déclaration de ton bouton) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Friend WithEvents Button As New Button

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Par défaut
    Salut

    Oui c'est possible, en utilisant AddHandler
    Inversement, RemoveHandler permet de détacher une méthode d'un évènement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    Public Class MyWindow2
        Inherits System.Windows.Window
     
        Public Sub AfficheMaFenetre()
            Dim Button as New Button
            Dim Fenetre As New Window
            Dim Panel As New DockPanel
     
            Button.Content = "Button"
            AddHandler Button.Click,AddressOf Button_Click
            'Inversement : RemoveHandler Button.Click,AddressOf Button_Click
     
            Me.AddChild(Panel)
            Panel.Children.Add(Button)
            Me.Visibility = Windows.Visibility.Visible
            Me.Activate()
     
        End Sub
     
        Public Sub Button_Click(ByVal sender As Object, ByVal e As EventArgs) 
            MsgBox("Button Click OK")
        End Sub
    End Class

  6. #6
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Par défaut
    Voici une solution qui fonctionne, mais le button est déclaré dans la class, est t'il possible de faire de même en déclarant le button dans la procédure ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Public Class MyWindow2
        Inherits System.Windows.Window
     
        Friend WithEvents Button As New Button
        Public Sub AfficheMaFenetre()
     
            Dim Fenetre As New Window
            Dim Panel As New DockPanel
     
            Button.Content = "Button"
     
            Me.AddChild(Panel)
            Panel.Children.Add(Button)
            Me.Visibility = Windows.Visibility.Visible
            Me.Activate()
     
     
        End Sub
     
        Public Sub Button_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button.Click
     
            MsgBox("Button Click OK")
     
        End Sub
     
    End Class
    Merci

  7. #7
    Membre averti
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Par défaut
    Merci a tous les deux ca répond exactement a ma question

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

Discussions similaires

  1. Comment lancer une commande java ?
    Par chady dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 17/03/2009, 13h39
  2. Réponses: 3
    Dernier message: 01/09/2008, 11h17
  3. Comment lancer une commande sous BCB
    Par Xavier dans le forum C++Builder
    Réponses: 8
    Dernier message: 07/01/2007, 07h58
  4. Comment lancer une command system en PLSQL
    Par charles_mourot dans le forum PL/SQL
    Réponses: 1
    Dernier message: 07/06/2006, 12h24
  5. Comment lancer une ligne de commande dans un processus en Java.
    Par doyouknow56 dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 13/05/2006, 11h55

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