2012-05-14 4 views
-1

Один маленький вопрос. Я знаю, что панель инструментов в Visual Studio имеет все необходимые компоненты, но мне было интересно, можем ли мы представить наши собственные «настраиваемые» инструменты. Например, инструмент listbox. Я создал класс «SpeechListBox», в котором я упомянул все методы, которые должен использовать мой список, но когда я в классе «SpeechListBoxApplication» (где я хочу использовать этот список), список с моим методы не отображаются, вместо этого появляется общий инструмент списка, который не имеет моих методов.Список Box, C# Visual Studio 2010

Я хочу написать что-то вроде частной речиListBox1 SpeechListBox; и каким-то образом представить визуальную форму для класса дизайна, не запутав его с помощью списка инструментов. Заставить программу понять, что я хочу этот тип списка со всеми расширенными методами, а не с общим типом панели инструментов.

Есть ли способ сделать свой собственный список или добавить методы в исходный инструмент списка?

+0

Заголовок не сформулирован как вопрос ... –

+0

Простите, я так и знал, что точно не знал, как сформулировать заголовок. – Enigma365

ответ

1

Ну, если вы вывели свой SpeechListBox из класса, который имеет или происходит от System.Windows.Forms.Control, при компиляции проекта он появится в панели инструментов Visual Studio.

Если вы не уверены в том, какой класс должен быть получен, вам придется принять некоторые решения. Если вы хотите рисовать все самостоятельно, то получите прямо от Control. Если вы хотите создать элемент управления, это совокупность других элементов управления, рассмотрите вывод из UserControl. Вы явно не указываете, что именно вы пытаетесь сделать с вашим SpeechListBox, но вы можете рассмотреть возможность использования только ListBox, но снабжая его элементами пользовательского нарисованного списка. Вы можете сделать это, производя свой класс из ListBox или просто сконфигурировав ListBox, чтобы делать то, что вы хотите, прямо в форме, в которой находится список.

+0

Большое вам спасибо! Я долгое время задерживался на этом, я думаю, что у меня есть это сейчас. – Enigma365

1

Является ли ваш код отдельным проектом? Затем вы должны добавить этот проект в свои проекты проекта SpeechListBoxApplication в проводнике решений.

В противном случае ваш унаследованный элемент управления (public class SpeechListBox : ListBox) должен отображаться, когда в GUI Designer в панели инструментов либо в разделе «Общие», либо в разделе, обозначенном после проекта.

+0

Эй! Да, это было в отдельном проекте, но у меня была эта часть. Тем не менее, благодарю вас за то, что вы прояснили ситуацию. Это действительно помогло. – Enigma365