¨ Так как событие SelectedIndexChanged активно по умолчанию, то указанного результата можно было добиться двойным щелчком по списку. Добавьте этим способом обработчики событий для двух других списков.
¨ В окне Solution Explorer выделите узел Library и в его контекстном меню выберите команду Rebuild. Устраните ошибки, если они появятся.
Пока вы еще в тонусе, добавим заготовку для второго элемента управления FileSystemControl.
¨ В контекстном меню текущего проекта Library (будьте внимательны: проекта, а не решения) выберите команду Add4New Item.
¨ В окне диалога выберите тип элемента — UserControl, задайте имя — FileSystemControl.
Мы разрабатываем второй элемент управления, который будет импортирован в главную форму другого приложения (проекта). Оба наших элемента — это классы, производные от UserControl. Они будут обслуживать две первые вкладки Windows-приложения Client, которое вы видите на рис. 2 и рис. 3. Мы добавим в класс FileSystemControl элементы управления и он станет обслуживать второй блок из вкладок, которые вы видите на рис. 2.
¨ Переведите текущий файл (класс FileSystemControl) в режим дизайна и задайте размеры его окна равными примерно (740; 480).
¨ В окне Toolbox возьмите элемент типа ImageList и положите его на форму. Задайте ему имя (свойство Name) treeImages.
¨ Положите на форму SplitContainer с именем splitMain. В его левую панель положите SplitContainer с именем splitLeft и горизонтальной полосой деления. В правую панель splitMain положите еще один SplitContainer с именем splitRight, который также имеет горизонтальную полосу деления (см. рис. 3).
¨ В нижнюю панель контейнера splitLeft положите элемент типа TreeView. Задайте его свойства: Name=tree, ImageList=treeImages; Dock=Fill.
¨ В нижнюю панель контейнера splitRight положите ListView. Задайте свойства: Name=fileList, Dock=Fill, View=Details, FullRowSelect=true, GridLines=true.
¨ В верхнюю панель контейнера splitLeft положите CheckBox. Задайте свойства: Name=checkHidden, Text=Show Hidden, Dock=Fill, BackColor=Info, Font=Comic Sans MS; 10,2pt, Padding= 15; 0; 0; 0.
¨ В верхнюю панель контейнера splitRight положите Label. Задайте свойства: Name=lblDirInfo, Dock=Fill, Autosize=False, BackColor=Info, Font=Comic Sans MS; 10,2pt, Padding= 8; 0; 0; 0.
Введите обработку некоторых событий. Опишем, как сделать это в режиме дизайна.
¨ При активном элементе ListView нажмите кнопку Events, которая расположена в окне Properties, найдите событие ColumnClick и совершите по этой строке двойной щелчок.
¨ Введите обработку событий для TreeView. Активизируйте его, найдите событие BeforeExpand (совершите двойной щелчок), нажмите Ctrl+Tab и повторите эту процедуру для события AfterSelect.
¨ В окне Solution Explorer выделите узел Library и в его контекстном меню выберите команду Rebuild.
Мы закончили работу с ресурсами первых двух компонентов приложения и создали первый вариант DLL Library. Теперь следует вдохнуть жизнь в оба компонента.
Дерево выглядит значительно лучше, если с каждой его ветвью связать растровое изображение (bitmap image). Обычно с деревом ассоциируется список изображений, управляемый объектом класса ImageList (и мы это уже сделали). В общем случае с каждым узлом дерева можно связать два изображения. Одно — для узла в нормальном состоянии, другое — в выбранном. Прежде всего, надо отличать события раскрытия-закрытия узла дерева (Expand-Collapse) от события его выбора (Select). Первое провоцируется нажатием на специальный маркер (со значком + или -), второе — нажатием на текстовую надпись (или растровое изображение). Раскрыть узел можно также и двойным щелчком над именем узла.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.