Supprimer un label lors d'un contact avec un autre

duskwood83 - 29 déc. 2012 à 17:01
 Utilisateur anonyme - 29 déc. 2012 à 23:39
Bien le bonsoir/bonjour à vous !!

Je m'en remet à vous car après chercher maintes fois, je n'ai toujours pas réussis à trouver ...

A la base de tout ça, lorsque j'appuie sur un "InsertionToolStripMenuItem" un Label se créer sur la page.

Enfaite, je cherche à ce que lorsque l'on déplace un label (Qui a été créer biensure grâce au "InsertionToolStripMenuItem") sur un autre (le label4 qui est la POUBELLE) le label qui est déplacé s'efface. (Pas le texte, le label entier.) Ou bien que le label devienne invisible.


Ensuite, (si c'est possible, biensure) que lorsque j'appuie sur un "InsertionToolStripMenuItem" (Que j'aurai appellé Page Vierge) tout les labels créent s'effacent sauf certains (les Label1, Label2, Label3). Cela est-il possible ? Si oui, comment puis-je procéder ?


Merci de vos réponses que j'attend avec impatience pour aboutir à mon projet ! :)

11 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
29 déc. 2012 à 19:53
Bonjour,
tu as écrit dans ton autre discussion :
Meric de toutes vos réponses, le seul truc c'est qu'effectivement, c'est du .net ! x'D Merci :) Je repost là-bas ! En essayant d'être plus clair.

Et n'as tenu aucun compte de la remarque que t"'avait faite à juste titre ShayW
Pour cxe qui est alors de la clarté ==W>> on attend !

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
29 déc. 2012 à 19:59
Bonjour

Tu décris ce que tu souhaites faire
mais as tu commencé à coder ?
0
Bonsoir ucfoutu,

Bein je trouve que ya un peu plus de précision qu'avant, je sias pas vraiment quoi ajouter de plus.

Bonsoir ShayW,


Oui j'ai trouvé un code qui m'est bien !

Private lastmouselocation As Point
   'choice1 c'est chez toi 1 
  Private Sub choice1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles choice1.Click
        Dim mylabel As New Label
        With mylabel
            .Font = New Font("arial", 12, FontStyle.Bold)
            .Text = "BLABLA"
            .BorderStyle = BorderStyle.Fixed3D
            .Location = New Point(10, 60)
            .Visible = True
        End With
        Me.Controls.Add(mylabel)

        AddHandler mylabel.MouseMove, AddressOf labelmousemove
        AddHandler mylabel.MouseDown, AddressOf labelmovedown
    End Sub  

 Private Sub labelmovedown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        lastmouselocation = e.Location
    End Sub

   

    Private Sub labelmousemove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        Dim ptlabel As New Point
        ptlabel = e.Location
        If e.Button = Windows.Forms.MouseButtons.Left Then

            DirectCast(sender, Label).Left += e.Location.X - lastmouselocation.X
            DirectCast(sender, Label).Top += e.Location.Y - lastmouselocation.Y
        End If
    End Sub


De : http://www.vbfrance.com/forum/sujet-FAIR-DEPLACER-LABEL_1618949.aspx

ça m'a pas mal servi.


Mais je trouve aucune autre chose j'ai rajouté 2-3 trucs du genre la couleur et tout ! Mais bon .. Je suis toujours en galère pour les autres !
0
Utilisateur anonyme
29 déc. 2012 à 21:53
Bonsoir,

Intéresse toi à la classe rectangle et à sa propriété Interserct.

Mais je trouve aucune autre chose

Quand les recherches pour copier-coller ne suffisent plus, le moment est venu d'utiliser son cerveau...
0

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

Posez votre question
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
29 déc. 2012 à 22:10
Bonsoir banana32

Quand les recherches pour copier-coller ne suffisent plus, le moment est venu d'utiliser son cerveau...


à moins que c'est aussi du copier)coller
0
Un forum n'est pas fait pour aider ? Ha bah j'ai dûe me tromper :) -_- J'me suis mis dans la section Debutant parceque j'apprend voyez-vous, masi bon, même avec le site du Zeero j'ai pas trouver.

Donc bah écoutez, je saurez que ce forum n'est pas du tout acceuillant envers les nouveaux.
0
Utilisateur anonyme
29 déc. 2012 à 22:49
Je t'ai donné une piste de réflexion.
je saurez que ce forum n'est pas du tout acceuillant envers les nouveaux

C'était le principe de la formation à l'ancienne ou on nous bousculait pour progresser. Mais aujourd'hui, on ne doit surtout pas le faire avec la jeune génération. Les pauvres, ça pourrait les perturber. Ceci m'avait échappé pardonne moi.
0
J'ai cherché 4 heures, j'ai lu tout le site du Zero, qui est très bien expliué, je n'ai pas trouvé la reponse, j'ai chercher sur google, je m'en remet à vous afin que vous m'aidiez, je ne dis pas que je rennonce, car j'aisoif d'apprendre, et j'adore la programmation, juste que ce que vous dites n'est pas très acceuillant on va dire...
0
Utilisateur anonyme
29 déc. 2012 à 23:16
Donc je recommence en prenant des gants
Lorsque tu déplaces ton premier label, dans l'événement MouseMove de ce label, tu peux utiliser la fonction offerte par la classe Rectangle pour vérifier si ce label déplacé recoupe celui qui est statique :
If Rectangle.IntersectsWith(DirectCast(sender, Label).Bounds, LabelStatique.Bounds) then
0
Merci Banana32, je vais essayer d'arranger ça à ma sauce en essayant de comprendre ce que signifie un peut tout ces morceaux de codes !
0
Utilisateur anonyme
29 déc. 2012 à 23:39
Bon allez puisque c'est la période des fêtes, voici un exemple parlant, commenté à tester dans un projet vierge.

Option Strict On
Public Class Form1

    'déclaration des item label
    Dim WithEvents ToolStripMenuItem2, ToolStripMenuItem3 As ToolStripLabel
    'déclaration du label à déplacer
    Dim MonLabel As Label
    Dim MonLabelStatique As Label
    'déclaration d'un point servant de base au déplacement
    Dim MonPoint As Point

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ToolStripMenuItem2 New ToolStripLabel With {.Text "bibi"}
        ToolStripMenuItem3 New ToolStripLabel With {.Text "baba"}
        Dim ToolStrip As New ToolStrip({ToolStripMenuItem2, ToolStripMenuItem3}) With {.Parent = Me}
    End Sub

    'observe qu'on peut abonner tous les toolstrip au même événement avec Handles
    Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
                                         Handles ToolStripMenuItem2.Click, _
                                                 ToolStripMenuItem3.Click
        MonLabelStatique = MonLabel
        'instance d'un label en récupérant son texte depuis ton toolstrip
        MonLabel New Label With {.Text DirectCast(sender, ToolStripLabel).Text, _
                                   .BackColor = Color.Pink, _
                                   .Location = New Point(15, 30), _
                                   .BorderStyle = BorderStyle.FixedSingle
                                  }
        'ajout des abonnements aux événements Mouse...
        AddHandler MonLabel.MouseDown, AddressOf MonLabelMouseDown
        AddHandler MonLabel.MouseMove, AddressOf MonLabelMouseMove
        'ajout au formulaire
        Me.Controls.Add(MonLabel)
    End Sub

    Private Sub MonLabelMouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
        'au clic gauche, on récupère un point de base
        If e.Button = Windows.Forms.MouseButtons.Left Then
            'on ré-attibue ici MonLabel au contrôle à déplacer
            'ceci permet de reprendre n'importe quel label pour le déplacer à nouveau
            MonLabel = DirectCast(sender, Label)
            'récupération du point de base
            MonPoint = e.Location
        End If
    End Sub

    Private Sub MonLabelMouseMove(ByVal sender As Object, ByVal e As MouseEventArgs)
        'au déplacement(bouton gauche enfoncé) on calcule le point du label en se servant de Point.Subtract
        If e.Button = Windows.Forms.MouseButtons.Left Then
            MonLabel.Location = Point.Subtract(Cursor.Position, _
                                              New Size(Me.Left + MonPoint.X, _
                                              Me.Top + MonPoint.Y + SystemInformation.CaptionHeight))
            If MonLabel IsNot Nothing AndAlso MonLabelStatique IsNot Nothing Then
                If Rectangle.Intersect(MonLabel.Bounds, MonLabelStatique.Bounds) <> Rectangle.Empty Then
                    Me.Controls.Remove(MonLabelStatique)
                End If
            End If
        End If
    End Sub
End Class
0
Rejoignez-nous