Méthode generique label [Résolu]

tof008 707 Messages postés jeudi 5 mai 2005Date d'inscription 5 janvier 2010 Dernière intervention - 9 sept. 2009 à 14:47 - Dernière réponse : tof008 707 Messages postés jeudi 5 mai 2005Date d'inscription 5 janvier 2010 Dernière intervention
- 11 sept. 2009 à 11:01
Bonjour à tous,

une petite question car j'ai du mal à cerner le concept. Je bosse avec c# sur vs 2008 et j'utilise Blend pour le design.

Alors voilà, je crée un userControl dans lequel je peux rajouter dynamiquement des Labels. Ensuite les deux questions sont les suivantes :

1/ Comment récupérer le label sur lequel j'effectue mon clic droit?

2/J'aimerais créer une méthode valable pour tous les labels que je vais créer, qui me permet de savoir si la souris passe dessus (un mouseEnter générique en fait)


MErci pour votre aide et bonne journée!
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 9 sept. 2009 à 19:03
3
Merci
Pour les 2 questions la réponse est identique :

Lorsque tu crée dynamiquement des contrôles, il faut ensuite que tu abonne les évènements de ces contrôles que tu veux gérer à des méthodes dites gestionnaire d'évènements.

Tu crée d'abord les méthodes :
pour le click :
	private void MesLabels_Click(object sender, EventArgs e)
{
}

pour le MouseEnter :
        private void MesLabels_MouseEnter(object sender, System.EventArgs e) 
        {
        }


Ensuite lorsque tu crée dynamiquement ton label, après lui avoir donner un nom, tu l'abonne ses évènements :
TonLabel.Click += new System.EventHandler(this.MesLabels_Click);
TonLabel.MouseEnter += new System.EventHandler(this.MesLabels_MouseEnter);

Dans tes gestionnaires d'évènement, sender.name te donnera le nom du label qui aura déclenché l'évènement



[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i

Merci cs_casy 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_casy
tof008 707 Messages postés jeudi 5 mai 2005Date d'inscription 5 janvier 2010 Dernière intervention - 10 sept. 2009 à 17:58
0
Merci
Mais que demander de plus... Merci beaucoup
Commenter la réponse de tof008
tof008 707 Messages postés jeudi 5 mai 2005Date d'inscription 5 janvier 2010 Dernière intervention - 11 sept. 2009 à 09:51
0
Merci
Suite à la discussion, petit probleme :

je crée mes méthodes pour un glisser déposer sur un userControl que je crée avec un clic sur un bouton. Je crée donc un nouveau userControl a chaque clic et j'aimerais pouvoir beneficier du glisser déposer sur chacun d'eux.

Je crée donc ces trois méthodes :
  	private void Postit_MouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            isDragging = true;
            controlPoint = new Point(Canvas.GetLeft(sender), Canvas.GetTop(sender));
            mousePoint = new Point(System.Windows.Input.Mouse.GetPosition(this).X, System.Windows.Input.Mouse.GetPosition(this).Y);

        }

        private void Postit_MouseUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {

            isDragging = false;
        }

        private void Postit_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
        {
          
            if (isDragging == true)
            {
                newMousePoint = new Point(System.Windows.Input.Mouse.GetPosition(this).X, System.Windows.Input.Mouse.GetPosition(this).Y);
                Canvas.SetLeft(sender, (controlPoint.X + newMousePoint.X - mousePoint.X + 10));
                Canvas.SetTop(sender, (controlPoint.Y + newMousePoint.Y - mousePoint.Y + 10));
               
            }
        }

Merci pour votre aide!
Commenter la réponse de tof008
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 11 sept. 2009 à 10:17
0
Merci
Oui, et c'est quoi le problème dans ce cas ?


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Commenter la réponse de cs_casy
tof008 707 Messages postés jeudi 5 mai 2005Date d'inscription 5 janvier 2010 Dernière intervention - 11 sept. 2009 à 11:01
0
Merci
le problème c'est que je ne peux réaliser mon glisser déposer que sur le dernier Composant que j'ai crée. Si je veux reprendre un composant déjà posé, c'est le dernier crée qui bouge!!! Plutôt embêtant.



                             Noubliez pas de lire le REGLEMENT 
Commenter la réponse de tof008

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.