2010-10-22 3 views
1

Nous savons que lorsqu'un formulaire est hérité visuellement, tous ses contrôles sont verrouillés au moment du design. Ce problème nécessite que nous placions les gestionnaires d'événements dans le formulaire de base. Maintenant, que dois-je faire si je veux placer des gestionnaires d'événements de contrôle de base dans le formulaire dérivé?Quelle est l'approche standard pour la gestion des événements en cas d'héritage visuel?

Étant donné que les contrôles sont verrouillés, l'approche du double-clic sur le contrôle pour ajouter un gestionnaire d'événements ne devrait pas fonctionner.

Quelle est l'approche standard de l'industrie pour la gestion des événements en cas de Visual Inheritance?

+0

@Hans La solution de Passant est l'approche la plus efficace pour résoudre le problème sans introduire d'autre complexité. Merci @Hans Passant. Ce fut une aide précieuse, car j'ai pu modifier mes applications existantes en un rien de temps. – anonymous

Répondre

3

Le concepteur honore les modificateurs d'accès sur les membres de la classe de base. Vous devez modifier la propriété Modifiers du contrôle du formulaire de base de Privé à Protégé. Recompiler Maintenant que le formulaire hérité a accès au contrôle, vous n'aurez aucun problème à surcharger les propriétés et à assigner un gestionnaire d'événement au concepteur.

+0

En changeant le contrôle d'accès, vous risquez de modifier la conception, et c'est ce que certaines personnes aimeraient faire. – Neowizard

+0

Cliquez avec le bouton droit sur le contrôle et cliquez sur Verrouiller les contrôles. Ils ne doivent pas changer le design s'ils n'aiment pas, cela devrait être évident. –

3

Vous gérez l'événement sur le formulaire de base et l'utilisez pour appeler une méthode virtuelle. Le formulaire dérivé remplace cette méthode.

+0

+1 pour cela. Les contrôles de base doivent être aussi isolés que possible, et tous les accès doivent se faire par des méthodes virtuelles/des méthodes privées impliquées pour l'accès ascendant. – TomTom

0

Une autre méthode consiste à ajouter un événement dans le contrôle utilisateur (au lieu d'une méthode virtuelle), puis à le déclencher lorsque l'événement interne est déclenché.

Questions connexes