2010-11-20 13 views
1

Par exemple, j'ai un userControl que je veux qu'un utilisateur puisse "sélectionner".Comment faire savoir à l'utilisateur que quelque chose est sélectionné?

Voici le code que je utilise:

private void ptbImage_Click(object sender, EventArgs e) 
{ 
    SelectControl(); 
} 

private void SelectControl() 
{ 
    this.BackColor = Color.FromArgb(235, 243, 253); 
} 

Si j'ai de nombreux contrôles à l'intérieur de ces choses de contrôle utilisateur se salir bientôt! : P Y a-t-il un pour entourer globalement chaque contrôle? Comme un événement Click pour tout ce qui est dans le contrôle. Si ce n'est pas le cas, je vais créer manuellement un clic même pour chaque contrôle pour capturer globalement l'entrée. Merci!

alt text

+0

Ces commandes proviennent-elles du même type? – Homam

Répondre

1

Oui ...

Vous pouvez lier l'événement de chaque commande à la même méthode d'événement, comme ceci:

ptbImage1.Click += new System.EventHandler(ptbImage_Click); 
ptbImage2.Click += new System.EventHandler(ptbImage_Click); 
ptbImage3.Click += new System.EventHandler(ptbImage_Click); 

etc ..

0

Dans le La méthode InitializeComponent du formulaire vous permet d'exécuter un foreach à travers chaque contrôle du formulaire et de définir le gestionnaire d'événements Click sur ptbImage_Click

0
foreach (Control ctrl in yourContainerControl.Controls) { 
    ctrl.Click += new System.EventHandler(ctrl_Click); 
} 

Vous pouvez également capturer des événements à l'échelle de l'application et les gérer avant qu'ils ne soient dirigés vers le contrôle lui-même.