Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
lord_commander
0 / 0 / 0
Регистрация: 20.05.2014
Сообщений: 139
1

Контрол для DataGridView для отображения файлов

17.10.2015, 18:37. Просмотров 130. Ответов 0
Метки нет (Все метки)

Здравствуйте! Имеется задание - сделать файловый менеджер.
Имеется форма, на которой есть DataGridView. В этом DGV должен отображаться список всех файлов какой-либо директории. Имеется абстрактный класс, в котором написаны абстрактные методы, для работы с файлами и набор свойств, которые будут отображаться в колонках.
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public abstract class Node
    {
        public string Name { get; set; }
        public string Path { get; set; }
        public long Size { get; set; }
        public DateTime DateOfCreation { get; set; }
        public DateTime DateOfChange { get; set; }
        public DateTime DateOfLastAccess { get; set; }
 
       public abstract void Copy(Node nodeElement);
       public abstract void Write(byte[] batesArr);
       public abstract void Replace(string inDirectory);
       public abstract void Remove();
       public abstract void Open();
    }


От этого класса наследуется класс Files, в котором реализуется функционал всех абстрактных методов. Для поиска всех файлов имеется небольшой метод, который отображает список всех файлов
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
class Files: Node
    {
         public string Per;
         public string NewPer;
          public IEnumerable<int> _information()
        {
            //Проверка диска на доступность
          var d = new DriveInfo(Per);
            if (d.IsReady)
            {
                // Отображение всех файлов по пути
                string[] path = Directory.GetFiles(Per);
                for (var i = 0; i < 1; i++)
                {
                    foreach (var s in path)
                    {
                        var inform = new FileInfo(s);
                        Name = inform.Name;
                        Path = inform.DirectoryName;
                        Size = inform.Length;
                        DateOfCreation = File.GetCreationTime(s);
                        DateOfChange = File.GetLastAccessTimeUtc(s);
                        DateOfLastAccess = File.GetLastAccessTime(s);
                        yield return i;
                    }
                }
            }
 
        }
//начинается реализация других методов и прочее
        public override void Copy(Node nodeElement)
        {
            FileInfo fileInf = new FileInfo(Per);
            if (fileInf.Exists)
            {
                // чтение из файла
                using (FileStream fstream = File.OpenRead(Per))
                {
                    // преобразуем строку в байты
                    byte[] array = new byte[fstream.Length];
                    // считываем данные
                    fstream.Read(array, 0, array.Length);
                    fileInf.CopyTo(NewPer, true);
                }
            }
        }
///далее идут остальные реализации методов, но они не важны сейчас


И для дальнейшей реализации, стоит такая задача - необходимо сделать так называемые "контрол" для DataGridView, который будет получать этот список файлов из метода, и в DataGridView будет этот список отображаться, причем, несколько колонок - каждая заполняется данными из полей, указанными в классе Node.

Я начал набрасывать этот "контрол", но понял, что я совсем не понимаю, как описывать в нем функционал, для отображения списка файлов из метода вышеуказанного класса, и совершенно не понимаю принцип его работы.
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
class KontrolClass : DataGridView
    {
        public void LoadNode()
        {
            
        }
    }


Не могли бы вы на примере показать, как в DataGridView через "контрол" реализовать отображение файлов, и пояснить как будет происходить взаимодействие объекта DGV на форме с "контролом"-наследником от класса DGV.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2015, 18:37
Ответы с готовыми решениями:

Контрол для отображения кеглей
пишу приложение, в нем есть определенная область, за которую можно получить...

Контрол для отображения графика функции
Добрый день! Есть код программы, подскажите, что надо добавить из &quot;Панели...

ProgressBar для отображения процесса удаления файлов (с учетом размера файлов)
Есть папки, которые периодически заполняются ненужными файлами. Нужно создать...

Использование данных из dataGridView для отображения на карте
Есть такая проблема. В Form1 создан gMapControl1private void...

Можно и изменить стиль отображения класса ListView или придется писать свой контрол
Требуется создать контрол ListViewer. Контролы будут отображаться списком....

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.10.2015, 18:37

Контрол DataGridView
Здравствуйте, есть у кого-нибудь контрол DataGridView? Хочу внести в него...

Контрол для таблицы
Нужно отображать таблицу в таком виде - ...

Контрол для изменения цвета текста
Доброго времени суток. Не завалялся у кого-нибудь контрол для изменения цвета...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru