Total Commander
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
Введение
В данной курсовой работе рассматривается изучение возможности среды программирования Microsoft Visual Studio C#, а именно компонент Treeview, а также некоторого набора стандартных операций, например, циклы, массивы, логические операции и т.д. (реализовано в практической части). # (произносится си шарп) - объектно-ориентированный язык программирования. Разработан в 1998-2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.
Переняв многое от своих предшественников - языков C++, Java, Delphi, Модула и Smalltalk - С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# не поддерживает множественное наследование классов (в отличие от C++).
Цели курсовой работы:
1. Написание программы, которая реализует некоторое подобие функционала программы Total Commander.
2. Изучение языка C#.
Задачи курсовой работы:
Рассмотреть компонент Treeview на практике.
Реализовать функционал программы (отображение, копирование, перемещение, переименование, удаление файлов и папок, запуск файлов, возможность выбора любого диска на данной машине).
1. Treeview C# - теория
Мы рассмотрим использование Treeview в C#. С ним связаны 3 основные класса: TreeView, TreeNode и TreeNodeCollection.
Treeview используется для отображения данных древовидной структуры, например дерева файлов. Для реализации подобных задач и используется Treeview.
Объект класса TreeNode - это одна запись дерева. Данный объект связывают со строкой, иногда - с определенным изображением. Он имеет следующие конструкторы:TreeNode();TreeNode(string text);TreeNode(string text, TreeNode[] children);TreeNode(string text, int imageIndex, int selectedImageIndex);TreeNode(string text, int imageIndex, int selectedImageIndex, TreeNode[] children);
В качестве параметров конструктор принимает: text - строку, связанную с узлом (описание узла); imageIndex - индекс изображения по умолчанию для узла; selectedImageIndex - индекс изображения для выделенного узла; children - массив дочерних объектов TreeNode (подузлов).
В классе TreeNode есть свойство Nodes, которое по сути является набором других объектов TreeNode.Свойство Nodes возвращает коллекцию узлов дерева, связанных с элементом управления TreeView. Это и есть те самые узлы дерева, которые будут отображаться, и операции с которыми следует выполнять.
public TreeNodeCollection Nodes {get;}
Чтобы добавить подузел к существующему узлу, необходимо использовать метод Add класса TreeNodeCollection. Существует 2 варианта данной функции. Первый принимает в качестве параметра описание узла, второй - объект класса TreeNode, который нужно добавить в коллекцию.
public virtual TreeNode Add(string text);virtual int Add(TreeNode node);
Для удаления подузла используется метод Remove. В данной функции только один параметр - объект класса TreeNode, который необходимо удалить.
public void Remove(TreeNode node);
Класс TreeView - это набор объектов класса TreeNode верхнего уровня. У класса TreeView также есть свойство Nodes. TreeNodeCollection Nodes {get;}
При использовании элемента управления TreeView часто используются изображения слева от текста каждого узла. Данные изображения хранятся в объекте ImageList, относящемся ко всему TreeView. Вот некоторые из свойств TreeView, связанные с ImageList:ImageList ImageList {get; set;}int ImageIndex {get; set;} //определяет рисунок по умолчаниюint SelectedImageIndex {get; set;}//определяет рисунок для выбранного узла.
Изображение можно задавать не только для узлов верхнего уровня, но и для любого объекта TreeNode при помощи похожих свойств.int ImageIndex {get; set;} //определяет рисунок по умолчаниюint SelectedImageIndex {get; set;}//определяет рисунок для выбранного узла.
Однака у TreeNode нет собственного свойства ImageList. Индексы относятся к свойству ImageList элемента управления, которому принадлежит объект TreeNode. Кроме того есть возможность указать индексы изображений при создании объекта TreeNode.
События дерева.
Приведенные ниже события происходят, когда раскрывается, сворачивается или активизируется узел. Если событие в своем названии содержит слово Before, то это событие срабатывает еще до того, как выполнится операция.
public event TreeViewCancelEventHandler BeforeCollapse;event TreeViewCancelEventHandler BeforeExpand;event TreeViewCancelEventHandler BeforeSelect;event TreeViewEventHandler AfterCollapse;event TreeViewEventHandler AfterExpand;event TreeViewEventHandler AfterSelect;
Пример:void Form1_Shown(object sender, EventArgs e)
{
treeView1.Nodes.Add(1);.Nodes.Add(2);.Nodes.Add(3);.Show(treeView1.Nodes.Count.ToString());
}
2. Разработка программы
2.1 Постановка задачи
Задание: написать программу с функционалом, примерно приближенным к функционалу программы Total Commander.
Программа обладает следующим функционалом:
1.При перетаскивании левой кнопкой мыши файл или папка будут перемещаться, а при перетаскивании правой кнопкой мыши файл или папка будут копироваться(Drag&Drop между 2 Treeview).
.Контекстное меню, которое по нажатию правой кнопки мыши будет показывать 3 пункта - удалить, переименовать, отменить.
.При двойном щелчке мыши по узлу, который отображает файл, выполнить запуск файла с помощью программы, которая используется для запуска в Windows по умолчанию.
2.2 Описание механизма программы
total commander treeview
?/p>