2010-06-09 6 views
0

J'ai créé un formulaire de base qui a une taille spécifique et une icône comme base pour tous les formulaires créés dans mon projet (pour être cohérent dans les regards). Le problème est, pour une raison quelconque si j'ajoute une zone de texte au formulaire enfant, je ne peux plus exécuter des raccourcis comme Copier (CTRL + C) etc. dans la zone de texte.Héritage d'un formulaire de base mais les commandes Coller/Couper ne sont pas capturées

Que dois-je faire pour gérer cet AUTRE que l'écriture de code pour capturer ceux sur le contrôle KeyUp?

C'est également le cas pour le contrôle RichTextBox.

Merci

+0

J'ai créé un autre projet pour essayer de régénérer ce problème et je n'ai pas pu le faire. Cela semble être un bug dans le contrôle. Je vais devoir recréer tout à partir de zéro et voir si je reçois le même problème. Merci à tous ceux qui ont tenté de résoudre ce problème mais cela ne semble pas se produire ailleurs que pour mon projet actuel. – Kingamoon

+0

OK J'ai finalement compris! La raison pour laquelle CTRL + C (et le reste) n'exécutaient pas leurs commandes respectives est que j'ai démarré le projet avec un formulaire parent MDI. MDI Le formulaire parent remplit automatiquement plusieurs contrôles dans lesquels un élément de menu comme Coller se trouvait sous l'élément de menu Édition. Coller a été associé au raccourci CTRL + V (à nouveau automatiquement par le modèle de formulaire MDI Parent). Le problème était que l'événement Click de l'élément de menu n'était pas géré et donc chaque fois que j'essayais de cliquer sur CTRL + V dans un RichTextBox ou un TextBox (ou à peu près n'importe quel formulaire éditable) il ne faisait rien. YIKES! – Kingamoon

Répondre

0

Je n'arrive pas à reproduire votre problème. Mais je dirais qu'il vaut mieux éviter l'héritage, consultez Microsoft Application Architecture Guide, 2nd Edition pour plus de détails

composition Préfère héritage. mesure du possible, utiliser la composition sur succession lors de la réutilisation fonctionnalité car héritage augmente la dépendance entre les classes parent et enfant, ainsi limiter la réutilisation des classes enfants. Cela réduit également les hiérarchies d'héritage , qui peuvent devenir très difficiles à traiter.