Прошел курс. Получил код Dreamspark. Ввожу код на сайте, пишет: Срок действия этого кода проверки уже истек. Проверьте, правильно ли введен код. У вас осталось две попытки. Вы также можете выбрать другой способ проверки или предоставить соответствующие документы, подтверждающие ваш академический статус.
Как активировать код? |
Пользовательские компоненты
Пробное тестирование компонента
Теперь нужно посмотреть, что у нас на данном этапе получилось. Для этого нужно откомпилировать компонент до уровня DLL и поместить его на пробную форму.
- Добавьте к решению MySolution новый проект ComponentTest типа приложения, выполнив команду меню File/Add/New Project и настроив мастер согласно рисунка
- В панели Solution Explorer щелкните правой кнопкой мыши на узле проекта ComponentTest и выполните команду Set as StartUp Project, чтобы сделать новое приложение стартовым
Обратите внимание, что после этой команды оболочка выделила узел проекта полужирным стилем (если он уже не был выделен). В решении только один проект может быть стартовым.
- Перейдите в режим конструктора форм для формы Form1 файла Form1.cs и откройте панель компонентов Toolbox
Мы видим, что пока панель содержит 9 свитков
Теперь нужно откомпилировать проект MyComponents. Для этого в панели Solution Explorer щелкните правой кнопкой мыши на корневом узле проекта и выполните команду Build
- Перейдите в режим конструктора форм для формы Form1 файла Form1.cs и откройте панель компонентов Toolbox
Теперь мы видим, что после компиляции в панели Toolbox оболочки появился новый свиток с именем проекта компонента, в котором находится создаваемый компонент FirstComponent. То есть, оболочка сразу стала реагировать на появление нового компонента
- Поместите компонент FirstComponent на форму Form1, выделите его экземпляр и исследуйте свойства в панели Properties оболочки
Мы видим, что в исполняемом файле программы оболочка автоматически создала экземпляр компонента с дежурным именем firstComponent1. Наряду со свойствами, наследуемыми компонентом от класса Control, в панели свойств отображаются все наши публичные свойства экземпляра компонента, такие, как IntegerProp, StringProp, CharProp, BoolProp, EnumProp. Они обертывают объекты простых значимых типов и оболочка поддерживает их декларативное изменение на этапе проектирования, в том числе, через раскрывающиеся списки. Но сложное свойство SomeObj, которое обертывает объект ссылочного типа, представлено в панели Properties только типом MyCompany.MyComponents.SomeObject.
Это связано с тем, что панель Properties способна представлять и редактировать свойства только как строки. Свойства простых значимых типов она может самостоятельно преобразовывать в строку и обратно, обеспечивая тем самым возможность их редактирования на этапе проектирования. Но со сложными типами, к которым относится класс SomeObject, дело обстоит иначе и на данном этапе оболочка в поле значения свойства-ссылки отображает только полное имя типа объекта.