Partage
  • Partager sur Facebook
  • Partager sur Twitter

Sender.dispose

Méthode dispose

Sujet résolu
    17 septembre 2020 à 19:48:57

    bonjour

    pouvez vous me dire à quoi sert la ligne 

    Sender.dispose

    Dans le code suivant

    sachant que si j’enlève cette ligne ,que j’exécute et que je coche la checkbox3 ,lasouris prend la forme d’une croix mais que je ne peux pas supprimer les lapins

    si je laisse la ligne je peux

      Public decalx, decaly As Integer
    
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Me.AllowDrop = True
        End Sub
    
        Private Sub Lapin_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Lapin.MouseDown
            If CheckBox3.Checked = True Then
                sender.dispose()
                Dim n As Integer = 0
                Dim truc As Control
                For Each truc In Controls
                    If TypeOf truc Is PictureBox Then
                        n = n + 1
                    End If
                Next truc
                If n = 0 Then
                    n = MsgBox("Tous les lapins sont trucidés", MsgBoxStyle.Critical, "Mission accomplie")
                    End
                End If
            ElseIf CheckBox2.Checked = False Then
                decalx = e.X
                decaly = e.Y
                Lapin.DoDragDrop(Lapin.Image, DragDropEffects.All)
            End If
        End Sub
    
        Private Sub Form1_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragEnter
            If CheckBox1.Checked = True Then
                e.Effect = DragDropEffects.Copy
            Else
                e.Effect = DragDropEffects.Move
            End If
        End Sub
    
        Private Sub Form1_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles MyBase.DragDrop
            If CheckBox1.Checked = True Then
                Dim toto As New PictureBox
                toto.Width = 32
                toto.Height = 32
                toto.Image = e.Data.GetData(DataFormats.Bitmap)
                Controls.Add(toto)
                toto.Left = e.X - Me.Left - decalx
                toto.Top = e.Y - Me.Top - decaly - 30
                AddHandler toto.MouseDown, AddressOf Lapin_MouseDown
            Else
                Lapin.Left = e.X - Me.Left - decalx - 3
                Lapin.Top = e.Y - Me.Top - decaly - 30
            End If
        End Sub
    
        Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged
            If CheckBox3.Checked = True Then
                Me.Cursor = Cursors.Cross
                CheckBox1.Checked = False
                CheckBox2.Checked = False
            Else
                Me.Cursor = Cursors.Arrow
            End If
        End Sub
    
        Private Sub CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
            If CheckBox3.Checked = True Then
                CheckBox1.Checked = False
            End If
        End Sub
    
        Private Sub CheckBox2_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged
            If CheckBox3.Checked = True Then
                CheckBox2.Checked = False
            End If
        End Sub
    
        Private Sub Lapin_Click(sender As System.Object, e As System.EventArgs) Handles Lapin.Click
    
        End Sub
    End Class



    • Partager sur Facebook
    • Partager sur Twitter
      18 septembre 2020 à 11:39:10

      >pouvez vous me dire à quoi sert la ligne
      Dans l'absolu, avec un programme correctement conçu :
      Le code qui vous nous donnez est particulièrement mal foutu car le nommage des variables et méthode est très très mauvais.
      Concrètement, cette ligne appelle la méthode "Dispose" de l'objet 'toto' créé ligne 38.
      Mais, je suis pas sûr que le code de la méthode Dispose d'une "PictureBox" de base sache comment sortir de la liste des contrôles de votre si bien nommé formulaire 'Form1'.
      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        18 septembre 2020 à 15:00:09

        Pour compléter, sender correspond à l'objet à l'origine de l'appel de la fonction, ici le "lapin" (picturebox) sur lequel on a cliqué
        • Partager sur Facebook
        • Partager sur Twitter

        Sender.dispose

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown