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 :

[VB.Net] problème variable bouton


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2013
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 43
    Points : 11
    Points
    11
    Par défaut [VB.Net] problème variable bouton
    Bonjour/Soir à tous , je rencontre un problème depuis peut, le code que je vais vous montrer fait en sorte que quant je clic-gauche sur la Form un nouveaux bouton se créer et ainsi de suite, il fait aussi en sorte que si on clic-droit sur n'importe quels boutons créer, alors il affiche une messagebox "test", mais voilà tout le problème le code prend en compte que le dernier bouton créer, en gros si j'essaye de faire un clic-droit sur n'importe quel bouton créer avant le dernier bouton....rien ne se produit, mais si je clic-droit sur le dernier bouton la messagebox "test" apparaît alors que je veux que la messagebox "test" apparaisse sur n'importe quel bouton créer.

    Voici le code en question :
    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
    Public Class Options_controls
        Public Num As Integer
        Public WithEvents btn As Button
        Public LocalMousePosition As Point
        Private Sub Options_controls_MouseClick(sender As Object, e As MouseEventArgs) Handles Me.MouseClick
            If e.Button = MouseButtons.Left And Form1.btn = 1 Then
                btn = New Button
                Num += 1
                btn.Text = "Button" + Num.ToString
                LocalMousePosition = Me.PointToClient(Cursor.Position)
                btn.Location = New Drawing.Point(LocalMousePosition.X, LocalMousePosition.Y)
                Me.Controls.Add(btn)
            End If
        End Sub
        Private Sub btn_MouseDown(sender As Object, e As MouseEventArgs) Handles btn.MouseDown
            If e.Button = MouseButtons.Right And Form1.btn = 1 Then
                MsgBox("test")
            End If
        End Sub
    End Class
    Voilà j'espère avoir été le plus compréhensible possible
    Merci d'avance ^^

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations forums :
    Inscription : Mars 2011
    Messages : 105
    Points : 153
    Points
    153
    Par défaut
    Bonjour,

    Il faut nommer tes boutons et leur attacher un évènement mousedown

    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
    Public Num As Integer
        Public WithEvents btn As Button
        Public LocalMousePosition As Point
        Private Sub Options_controls_MouseClick(ByVal sender As Object, ByVal e As MouseEventArgs) Handles Me.MouseClick
            If e.Button = MouseButtons.Left Then
                btn = New Button
                Num += 1
                btn.Text = "Button" + Num.ToString
                btn.Name = "Button" + Num.ToString
                LocalMousePosition = Me.PointToClient(Cursor.Position)
                btn.Location = New Drawing.Point(LocalMousePosition.X, LocalMousePosition.Y)
                Me.Controls.Add(btn)
                AddHandler Me.Controls(btn.Name).MouseDown, AddressOf btn_MouseDown
            End If
        End Sub
        Private Sub btn_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
            If e.Button = MouseButtons.Right Then
                MsgBox("test: " & sender.name)
            End If
        End Sub

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2013
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 43
    Points : 11
    Points
    11
    Par défaut
    Merci ! ça marche super !

  4. #4
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Tu n'es pas obligé de nommer ton bouton. Tu peux directement faire dont Addhandler sur le bouton que tu es en train de créer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If e.Button = MouseButtons.Left Then
                btn = New Button
                Num += 1
                btn.Text = "Button" + Num.ToString
                LocalMousePosition = Me.PointToClient(Cursor.Position)
                btn.Location = New Drawing.Point(LocalMousePosition.X, LocalMousePosition.Y)
                Me.Controls.Add(btn)
                AddHandler btn.MouseDown, AddressOf btn_MouseDown
            End If

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

Discussions similaires

  1. [VB.NET] problème variables dans les textbox
    Par pierrepelerin dans le forum Windows Forms
    Réponses: 6
    Dernier message: 18/10/2006, 00h13
  2. Problèmes dimensions boutons variable avec browser
    Par vano dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 08/08/2006, 11h37
  3. Problèmes dimensions boutons variable avec browser
    Par vano dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 07/08/2006, 15h08
  4. [VB.Net] popup variables à partir d'un même bouton
    Par bubuchanwa dans le forum ASP.NET
    Réponses: 6
    Dernier message: 25/07/2005, 14h44
  5. [VB.NET] Probléme de variable
    Par Silvia12 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 02/03/2005, 11h51

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