Главная » Статьи для тега "ComponentModel"

Расширение контекстного меню формы

Добавлено Дата: 8 March, 2011 категория: C#, Компоненты

В разд. 6.5 с помощью свойства Verbs класса ComponentDesigner мы расширяли контекстное меню компонента. Сервис iMenuService позволяет аналогично расширить контекстное меню дизайнера, т. е. формы, на которую помещаются компоненты. Следует помнить, что сервис добавляет "глобальное" меню, поэтому перед добавлением я сначала удаляю это меню. Если оно еще не было добавлено— ничего страшного не произойдет, а если было, то это поможет избежать дублирования. В листинге 7.4 показано добавление глобального меню, при вызове которого выводится небольшое сообщение.

Читать »

Выбор базового класса

Добавлено Дата: 7 March, 2011 категория: C#, Компоненты

Для того чтобы более четко понимать, как правильно выбрать базовый класс для нового компонента, MSDN формулирует следующие правила, О Если класс использует некоторые внешние ресурсы (например, файлы, порты и т, п.), но не будет помещаться на форму во время разработки, достаточно реализовать интерфейс system. iDisposabie. Разумеется, такой класс не будет компонентом, но если вы не собираетесь помещать его на форму, то этого и не требуется.

Читать »

Сервисы

Добавлено Дата: 19 February, 2011 категория: C#, Компоненты

Когда компонент помещается в контейнер, он получает доступ к сервисам, предоставляемым этим контейнером с помощью интерфейса iserviceprovider:

public interface IServiceProvider I

object GetService (Type serviceType)

\

Из определения интерфейса видно, что доступ к сервисам осуществляется по типу. Нужный сервис можно получить с помощью метода GetService О класса Component Designer, как, например, мы это делали при создании смарт-тега:

Читать »

Контекстное меню компонента

Добавлено Дата: 8 February, 2011 категория: C#, Компоненты

В этом разделе я расскажу, как формировать контекстное меню компонента, вызываемое по щелчку правой кнопки мыши. Вообще говоря, контекстное меню формируется с помощью класса DesignerVerb и свойства verbs класса componentDesigner, но, прежде чем начать рассказывать про эти классы, хочу раскрыть небольшой секрет. Класс DesignerActionMethoditem имеет еще один конструктор, о котором я не рассказал в предыдущем разделе. Шестым параметром конструктора можно указать дизайнеру автоматически создать пункт контекстного меню, соответствующий вызываемому методу (рис. 6.6):

Читать »

Конвертеры типов .NET Framework 2.0

Добавлено Дата: 16 January, 2011 категория: C#, Компоненты

Библиотека .NET Framework содержит множество конвертеров. Я приведу лишь несколько из них:

?  System. ComponentModel.BaseNumberConverter—базовый класс ДЛЯ преобразования числовых значений. От него наследованы многие конвертеры, такие как ByteConverter, DecimalConverter, Intl6Converter И Др.;

Читать »

Управление сериализацией

Добавлено Дата: 30 December, 2010 категория: C#, Компоненты

В предыдущем разделе я рассказывал, как среда осуществляет процесс сериализации. В частности о том, что при сериализации просматриваются все публичные свойства. Каждое из них анализируется на необходимость сериализации.

Указать необходимость сериализации можно с помощью атрибута

Читать »

Управление окнами Visual Studio

Добавлено Дата: 17 December, 2010 категория: C#, Компоненты

Еще одно применение сервиса IUlServiceTestDesigner-—управление окнами Visual Studio. Метод

bool ShowToolWindow(Guid toolWindow)

позволяет отобразить одно из окон, описанных в перечислении

StandardToolWindows: ObjectBrowser, OutputWindow, ProjectExplorer, PropertyBrowser, RelatedLinks, ServerExplorer, TaskList, Toolbox.

Читать »