2012-05-14 4 views
-1

Une petite question. Je sais que la boîte à outils de Visual Studio contient tous les composants nécessaires, mais je me demandais si nous pouvions présenter nos propres outils «sur mesure». Par exemple, l'outil de listbox. J'ai créé une classe "SpeechListBox" dans laquelle j'ai mentionné toutes les méthodes que je veux que ma listbox utilise, mais quand je suis dans la classe "SpeechListBoxApplication" (où je veux utiliser cette listbox), la listbox avec mon les méthodes ne s'affichent pas, mais l'outil général listbox qui n'a pas mes méthodes apparaît.Zone de liste, C# Visual Studio 2010

Ce que je veux est d'écrire quelque chose comme private speechListBox1 SpeechListBox; et en quelque sorte introduire une forme visuelle à la classe de conception sans le confondre avec la boîte à liste de la boîte à outils. Faire le programme réaliser que je veux ce type de zone de liste avec toutes les méthodes étendues, pas le type général de boîte à outils.

Est-il possible de créer notre propre liste ou d'ajouter des méthodes à l'outil de liste d'origine?

+0

Le titre n'est pas libellé comme une question ... –

+0

Désolé, je ne le savais pas, je ne savais pas exactement comment écrire le titre. – Enigma365

Répondre

1

Eh bien, si vous dérivez votre SpeechListBox d'une classe qui est ou dérive de System.Windows.Forms.Control, lorsque vous compilez votre projet, il apparaîtra dans la boîte à outils de contrôle Visual Studio.

Si vous n'êtes pas sûr de quelle classe dériver, vous devrez prendre certaines décisions. Si vous voulez dessiner vous-même à la main, dérivez directement de Control lui-même. Si vous voulez construire un contrôle est un composite d'autres contrôles, envisager de dériver de UserControl. Vous n'indiquez pas explicitement ce que vous essayez de faire avec votre SpeechListBox, mais vous voudrez peut-être envisager d'utiliser un ListBox mais en le fournissant avec des éléments de liste personnalisés. Vous pouvez le faire en faisant votre classe dériver de ListBox ou simplement en configurant un ListBox pour faire ce que vous voulez dans le formulaire sur lequel réside la listbox.

+0

Merci beaucoup! J'ai été bloqué dessus pendant un bon moment, je pense que je l'ai maintenant. – Enigma365

1

Votre code est-il dans un projet distinct? Vous devez ensuite ajouter ce projet aux références de votre projet SpeechListBoxApplication dans l'explorateur de solutions.

Sinon, votre contrôle hérité (public class SpeechListBox : ListBox) doit s'afficher dans le GUI Designer de la boîte à outils, dans la section Common ou dans une section intitulée après le projet.

+0

Hey! Oui, c'était dans un projet séparé, mais j'avais cette partie couverte. Encore, merci de rendre les choses plus claires. Cela a vraiment aidé. – Enigma365