Главная » C#, Компоненты » Хосты

0

Управление режимом разработки, созданием и уничтожением компонентов формы, загрузкой формы и т.д. осуществляется с помощью интерфейса System.CompoentModel. Design. IDesignerHost, который называется ХОСШОМ (host):

public interface IDesignerHost : IServiceContainer, IServiceProvider I

IContainer Container { get; }

IComponent RootComponent { get; }

string RootComponentClassName { get; }

IComponent CreateComponent(Type componentClass);

IComponent CreateComponent(Type componentClass, string name);

void DestroyComponent(IComponent component);

IDesigner GetDesigner(IComponent component);

Type GetType (string typeName) ;

bool Loading { get; } void Activate () ; event EventHandler Activated; event EventHandler Deactivated; event EventHandler LoadComplete;

bool InTransaction { get; }

string TransactionDescription { get; }

event DesignerTransactionCloseEventHandler TransactionClosed; event DesignerTransactionCloseEventHandler TransactionClosing; event EventHandler TransactionOpened; event EventHandler TransactionOpening; DesignerTransaction CreateTransaction ();

DesignerTransaction CreateTransaction(string description);

t

Для получения этого интерфейса нужно вызвать метод Getserviceo, передав ему В качестве параметра тип IDesignerHost (с методом GetServiceO мы еще будем разбираться при обсуждении сервисов в главе 7).

Я разделил методы и свойства этого интерфейса на три группы. Первая группа относится к управлению компонентами:

О свойство Container возвращает контейнер хоста;

О свойство RootComponent возвращает "базовый" компонент дизайнера. Обычно это компонент типа Form или userControi;

?        свойство RootComponentciassName возвращает полное имя базового компонента;

?        методы createcomponent () создают компонент заданного типа и добавляют его в дизайнер;

?        метод Destroycomponent () удаляет компонент;

?        метод GetDesigner о возвращает дизайнер указанного компонента (см. главу 6);

?       метод GetType () возвращает тип по имени. Вторая группа относится к состоянию дизайнера:

?        свойство Loading возвращает true, если идет процесс загрузки данных в дизайнер;

?        события Activated, Deactivated И LoadComplete вызываются соответственно при завершении активизации, при завершении деактивизации и после загрузки данных;

?        метод Activate () активизирует дизайнер.

Третья группа относится к транзакциям дизайнера, с которыми мы будем разбираться в разд. 12.2.

Литература:

Агуров П. В. C#. Разработка компонентов в MS Visual Studio 2005/2008. – СПб.: БХВ-Петербург, 2008. — 480 е.: ил.

По теме:

  • Комментарии