Создание события для TreeView. — КиберПедия 

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Создание события для TreeView.

2017-11-17 205
Создание события для TreeView. 0.00 из 5.00 0 оценок
Заказать работу

Выбираем на основной форме копанет treeView1, переходим в окно событий и создаем событие «NodeMouseClick». Переходим к редактированию кода данного события. Необходимо сделать так чтобы при выделение subItem у нас открывалась дочерняя форма, в заголовке данной формы прописывался текст выделенного документа. Для этого в редактировании события пропишем следующий код.

private bool CreateWorkForm(string sNameForm) { WorkForm newf; newf = new WorkForm(); newf.Text = sNameForm; newf.MdiParent = this; newf.Show(); return true; } private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { bool bFormOpen = (e.Node.Parent!= null)? CreateWorkForm(e.Node.Text): false;   }

После того как будет прописан данный код, запустим нашу программу, выбирая элементы в дереве, у нас будут создаваться рабочие формы. Однако при повторном выборе документа создается еще одно окно, после добавления следующего кода мы избавимся от этой проблемы.

private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { for (int i = this.MdiChildren.Length - 1; i >= 0; i--) { if (MdiChildren[i].Text == e.Node.Text) { MdiChildren[i].Activate(); return; } }   bool bFormOpen = (e.Node.Parent!= null)? CreateWorkForm(e.Node.Text): false; }

Запустите программу, что получилось?

 

Создание классов для документов и справочников.

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

Создадим класс для первого справочника, для этого добавим в проект файл реализации и назовем его Spr1.cs. Пропишем там следующий код.

using System; using System.Collections.Generic; using System.Linq; using System.Text;   namespace ASU_Sklad { class TSpr1 { public TSpr1() { // } } }

 

Далее создадим интерфейс, который будет наследовать данный класс. Для этого добавим к проекту файл по аналогии с рис. 2.

рис 2.

После добавления файла в окне Solution Explorer мы видим следующее. рис 3.

рис. 3.

Содержимое созданного файла выглядит следующим образом.

using System; using System.Collections.Generic; using System.Linq; using System.Text;   namespace ASU_Sklad { public interface IDocuments {   } }

 

Наследуем наш класс от созданного интерфейса. Для этого перейдем в редактирование файла Spr1.cs и изменим описание класса.

using System; using System.Collections.Generic; using System.Linq; using System.Text;   namespace ASU_Sklad { class TSpr1: IDocuments { public TSpr1() { // } } }

Теперь наш созданный класс наследуется от интерфейса.

Для следующих операций необходимо переименовать имена subItem нашего TreeView, как указано в таблице, таким образом, имена наших классов, создаваемых для документов будут фактически идентичны именам subItem, единственно, что остается достать имя класса из этих переменных.

Name Text
Spr_Spr1_Node Справочник 1
Spr_Spr2_Node Справочник 2
InDoc_InDoc1_Node Входной документ 1
InDoc_InDoc2_Node Входной документ 2
OutDoc_OutDoc1_Node Выходной документ 1

Поделиться с друзьями:

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.007 с.