Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click, Button2.Click 'sender contient l'objet qui a généré l'évènement Dim leSender As Control = CType(sender, Control) 'je caste sender en tant que Control, car comme tout objet dans .Net Control dérive d'Object, et que normalement sender est un controle.... If leSender.Name = "Label1" Then Dim leLable As Label = CType(sender, Label) 'comme finalement c'est un label leLable.Text = "coucou" Else Dim leBouton As Button = CType(sender, Button) 'en fait c'est le bouton MessageBox.Show("Click sur le bouton") End If End Sub
Il faut donc que je puisse reconnaître sur lequel de ces trois label j'ai fait un clic droit.
Imports VB = Microsoft.VisualBasic Public Class Form1 Dim leSender As Control Dim leLable As Label Dim RichTextBox As RichTextBox Dim send Dim labelc Dim labelv = "" Dim gen Private Sub RichTextBox1_MouseHover(sender As Object, e As System.EventArgs) Handles RichTextBox1.MouseHover RichTextBox) gen = sender End Sub Private Sub COLERToolStripMenuItem_Click(sender As Object, e As System.EventArgs) Handles COLERToolStripMenuItem.Click gen.Text = labelv End Sub Private Sub Label1_MouseHover(sender As Object, e As System.EventArgs) Handles Label1.MouseHover gen = sender End Sub Private Sub Label2_MouseHover(sender As Object, e As System.EventArgs) Handles Label2.MouseHover gen = sender End Sub Private Sub COPIERToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles COPIERToolStripMenuItem.Click labelv = gen.Text End Sub Private Sub RichTextBox2_MouseHover(sender As Object, e As System.EventArgs) Handles RichTextBox2.MouseHover RichTextBox) gen = sender End Sub Private Sub TextBox1_MouseHover(sender As Object, e As System.EventArgs) Handles TextBox1.MouseHover gen = sender End Sub End Class
Private Sub mnuCopier_Click(sender As Object, e As EventArgs) Handles mnuCopier.Click Dim monControle As Control = CType(mnuContextMenu.SourceControl, Control) 'recupère le controle qui a ouvert le menu Clipboard.SetData(DataFormats.Text, monControle.Text) 'charge le presse papier End Sub Private Sub mnuColler_Click(sender As Object, e As EventArgs) Handles mnuColler.Click Dim monControle As Control = CType(mnuContextMenu.SourceControl, Control) monControle.Text = Clipboard.GetText() 'décharge le presse papier Clipboard.Clear() 'vide le presse papier pour bien vérifier que Coller n'est actif que s'il y a quelque chose dedans, toi tu feras comme tu veux End Sub Private Sub mnuContextMenu_Opening(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles mnuContextMenu.Opening mnuColler.Enabled = Clipboard.ContainsText() 'le menu Coller est activé s'il y a du texte dans le presse papier End Sub