2010-10-04 5 views
4

J'ai un Windows Forms contrôle utilisateur qui se compose de plusieurs contrôles. Entre autres, il y a aussi le contrôle gridview. Maintenant, je veux utiliser le contrôle de l'utilisateur dans un formulaire. Comment puis-je vérifier par exemple si une ligne de la grille est cliquée? Je veux obtenir les données de la ligne sélectionnée. En d'autres termes, comment puis-je détecter les événements des contrôles, qui sont intégrés dans le contrôle utilisateur?Windows Forms: contrôles utilisateur et événements

Répondre

7

Vous devez exposer les événements de votre contrôle parent en ajoutant des événements supplémentaires:

public event EventHandler GridViewClicked; 

Et vous appelez sur le contrôle de votre enfant à l'aide de ce qui suit:

private void ChildControlGrid_RowClicked(object sender, EventArgs e) 
{ 
    if (GridViewClicked != null) 
    { 
     GridViewClicked(sender, e); 
    } 
} 

Ensuite, vous implémentez cela le De la même manière que vous le feriez pour n'importe quel événement sur votre formulaire:

yourControl.GridViewClicked += new EventHandler(ChildGridRowClicked); 

private void ChildGridRowClicked(object sender, EventArgs e) 
{ 
    // Child row clicked 
} 
1

Créez un nouvel événement sur votre contrôle utilisateur et utilisez-le pour exposer les événements de gridview.

Questions connexes