Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
 Аватар для L_Egor
5 / 5 / 1
Регистрация: 15.10.2013
Сообщений: 206

Довести до ума проект "Файловый менеджер"

02.12.2013, 22:01. Показов 3124. Ответов 19
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
друзья, помогите пожалуйста, я нашел тут на форуме самый идеальный для моего случая файловый менеджер
помогите пожалуйста его немного изменить.
1) как научить его создавать папки
2) как убрать зацикливание. когда я указываю путь например к съемному носителю который не вставлен в компьютер он выдает сообщение что устройство не готово к использованию, и при закрытии этого окна оно появляется снова и снова пока я не закрою данный процесс через диспетчер задач.
Вложения
Тип файла: rar файловыйменеджер.rar (34.0 Кб, 73 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.12.2013, 22:01
Ответы с готовыми решениями:

Не плохо бы довести до ума код
Добрый день.Вообщем я начал учить c# 2 месяца назад и уже понимаю что,и как.Но вот в чём проблема, у меня есть вот такой код: using...

Довести до ума программу тестирования
Имеется вот такой код. При открытии 4-й формы стоит button2.PerformClick(); Но я не учел, что radioButton не 1 не будет выбран....

Довести до ума приложение на С#
Здравствуйте! Помогите, пожалуйста, тут две строчки буквально дописать, но до меня не доходит Есть программа и код для консольного...

19
foo();
 Аватар для rattrapper
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
02.12.2013, 22:51
L_Egor, папки прикрутил, а ошибки с сообщениями добиться не удалось
Вложения
Тип файла: rar файловый менеджер_1.1.rar (105.2 Кб, 107 просмотров)
1
 Аватар для L_Egor
5 / 5 / 1
Регистрация: 15.10.2013
Сообщений: 206
02.12.2013, 23:12  [ТС]
не понял. не получилось исправить ошибки, или они у вас не выводятся?

Добавлено через 53 секунды
и я не понял, что нужно сделать чтоб он создал попку?

Добавлено через 4 минуты
и еще, как мне открыть редактор конструктора формы?
0
03.12.2013, 00:11
Лучший ответ Сообщение было отмечено как решение

Решение

Не по теме:

Цитата Сообщение от L_Egor Посмотреть сообщение
и я не понял, что нужно сделать чтоб он создал попку?
Сделать его человеком, познакомить с девушкой, чтобы они сделали ребенка.. Потом он родится и можно будет смело сказать: "Он создал попку!"

4
foo();
 Аватар для rattrapper
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
03.12.2013, 01:18
Цитата Сообщение от L_Egor Посмотреть сообщение
или они у вас не выводятся
именно
Цитата Сообщение от L_Egor Посмотреть сообщение
что нужно сделать чтоб он создал попку?
запустить из архива bin\Debug\FileDirProject и нажать на кнопочку с плюсиком
Цитата Сообщение от L_Egor Посмотреть сообщение
как мне открыть редактор конструктора формы?
в visual studio найдите окошко solution explorer и два раза кликните по Form1
1
 Аватар для L_Egor
5 / 5 / 1
Регистрация: 15.10.2013
Сообщений: 206
03.12.2013, 08:49  [ТС]
а можно последнюю просьбу. как научить его удалять файлы и папки?
0
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
03.12.2013, 10:20
L_Egor, суровый он у вас..

Не по теме:

я бы не назвал это файловым менеджером, так, скорее поделка для тренировки.


Цитата Сообщение от L_Egor Посмотреть сообщение
а можно последнюю просьбу. как научить его удалять файлы и папки?

Не по теме:

Цитата Сообщение от L_Egor Посмотреть сообщение
последнюю просьбу
"ну все.. научусь удалять файлы и прощай этот поганый мир..."


берем FileInfo от текущего файла:
C#
1
var fi = new FileInfo("test.txt");
потом:
C#
1
fi.Delete();
и радуемся.

Не по теме:

научите его ftp и пусть начнет уметь плагины, много знаний получите.

0
 Аватар для L_Egor
5 / 5 / 1
Регистрация: 15.10.2013
Сообщений: 206
04.12.2013, 09:12  [ТС]
непонятно

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

Добавлено через 2 минуты
а еще лучше если они будут перенесены в корзину
0
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9673 / 4825 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
04.12.2013, 10:37
Цитата Сообщение от lpvoid Посмотреть сообщение
я бы не назвал это файловым менеджером, так, скорее поделка для тренировки.
В таком случае напишите лучше. 90% здешних пишет "поделки для тренировки", в т.ч. и я, и не думаю, что это можно как-то осуждать.
0
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
04.12.2013, 14:05
Цитата Сообщение от tezaurismosis Посмотреть сообщение
В таком случае напишите лучше. 90% здешних пишет "поделки для тренировки", в т.ч. и я, и не думаю, что это можно как-то осуждать.
я не осуждаю, меня смутило название "файловый менеджер". это было констатацией факта.

L_Egor, подпишитесь на событие SelectedIndexChanged (или SelectedItemChanged, не помню) у вашего listBox и получите значение текущего элемента. возьмите от него FileInfo и удалите как показано выше.
0
 Аватар для L_Egor
5 / 5 / 1
Регистрация: 15.10.2013
Сообщений: 206
04.12.2013, 14:36  [ТС]
если я вас правильно понял то я должен открыть редактирование кода части listView и вставить этот код :
C#
1
2
3
4
5
6
  private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            SelectedGridItemChangedEventArgs
FileInfo;
            var fi = new FileInfo("test.txt");
            fi.Delete();
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
04.12.2013, 14:38
зачем на события подписываться? разве недостаточно будет при клике на кнопку просто получить выделенный элемент?
C#
1
ListBoxName.SelectedItem;
1
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
04.12.2013, 14:47
valera_21, да, наверняка так и стоит сделать.
0
 Аватар для L_Egor
5 / 5 / 1
Регистрация: 15.10.2013
Сообщений: 206
04.12.2013, 15:02  [ТС]
если я вас правильно понял то мне нужно открыть редактирование кода listView и написать код
C#
1
2
3
4
5
6
 private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            SelectedGridItemChangedEventArgs
FileInfo;
            var fi = new FileInfo("test.txt");
            fi.Delete();
0
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
04.12.2013, 15:04
L_Egor, нет.
написал вам пример (осторожно, г*внокод, но суть ясна):
г*внокод! опасно для моцка!
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
 * Created by SharpDevelop.
 * User: Phil
 * Date: 04.12.2013
 * Time: 16:49
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using System.IO;
 
namespace Deleter
{
    /// <summary>
    /// Description of MainForm.
    /// </summary>
    public partial class MainForm : Form
    {
        private string _currentDir = @"C:\";
        
        public MainForm()
        {
            InitializeComponent();
            
            Update();
        }
        
        private void Update() {
            listBox1.Items.Clear();
            
            Array.ForEach(Directory.GetDirectories(_currentDir), (dir) =>
                          listBox1.Items.Add("D: " + Path.GetFileName(dir)));
            
            Array.ForEach(Directory.GetFiles(_currentDir), (file) =>
                          listBox1.Items.Add("F: " + Path.GetFileName(file)));
        }
        
        private bool IsDirectory(string str) {
            return str.StartsWith("D: ");
        }
        
        private string GetName(string raw) {
            return raw.Substring(3, raw.Length - 3);
        }
        
        void Button1Click(object sender, EventArgs e)
        {
            if(!IsDirectory(listBox1.SelectedItem.ToString())) {
                var fi = new FileInfo(Path.Combine(_currentDir, GetName(listBox1.SelectedItem.ToString())));
                fi.Delete();
                Update();
            }
        }
        
        void ListBox1DoubleClick(object sender, EventArgs e)
        {
            if(IsDirectory(listBox1.SelectedItem.ToString())) {
                _currentDir = Path.Combine(_currentDir, GetName(listBox1.SelectedItem.ToString()));
                Update();
            }
            
            
        }
    }
}
Вложения
Тип файла: zip Deleter.zip (36.1 Кб, 23 просмотров)
1
 Аватар для L_Egor
5 / 5 / 1
Регистрация: 15.10.2013
Сообщений: 206
04.12.2013, 16:13  [ТС]
По вашему примеру у меня должно получиться вот так:
C#
1
2
3
4
5
6
7
8
9
10
 private void button2_Click(object sender, EventArgs e);
        if(Directory(listView1.SelectedItem.ToString())) {
                var fi = new FileInfo(Path.Combine(_currentDir, GetName(listView1.SelectedItem.ToString())));
                fi.Delete();
                Update();
 
        private void listView1_SelectedIndexChanged(object sender, EventArgs e);
            if(Directory(listView1.SelectedItem.ToString())) {
                _currentDir = Path.Combine(_currentDir, GetName(listView1.SelectedItem.ToString()));
                Update();
но у меня выходит куча ошибок я непонимаю
0
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
04.12.2013, 16:43
L_Egor, какие именно ошибки?

Не по теме:

зачем вы трогаете .net 2.0? бросьте бяку. уже 4.5.1 на дворе, а вы все там, далеко.

0
 Аватар для L_Egor
5 / 5 / 1
Регистрация: 15.10.2013
Сообщений: 206
04.12.2013, 17:10  [ТС]
if(Directory ошибка: метод должен иметь тип возвращаемого значения
listView1 ошибка: является полем а используется как тип
_currentDir ошибка : не существует в текущем контексте

(listView1 инициализатор поля не может обращаться к нестатическому полю методу или свойству listView1
имя типа Delete не существует в типе if
Update метод должен иметь тип возвращаемого значения
недопустимая лексема if в объявлении класса структуры или интерфейса

Добавлено через 4 минуты
даже = в строке _currentDir = Path.Combine(_currentDir, GetName(listView1.SelectedItem.ToString( ))); недопустим в объявлении класса структуры или интерфейса
GetName: метод должен иметь тип возвращаемого значения
0
 Аватар для lpvoid
324 / 307 / 59
Регистрация: 06.03.2013
Сообщений: 869
04.12.2013, 17:10
L_Egor, очевидно:
_currentDir у вас не существует,
метода Update у вас нет (точнее есть, но тот, который от Control, а не мой).

не надо просто копипастить код, надо его переписывать под свои нужды.
0
 Аватар для L_Egor
5 / 5 / 1
Регистрация: 15.10.2013
Сообщений: 206
04.12.2013, 23:03  [ТС]
и применяя этот фрагмент
C#
1
2
3
4
5
6
7
8
9
10
private void button2_Click(object sender, EventArgs e);
        if(Directory(listView1.SelectedItem.ToString())) {
                var fi = new FileInfo(Path.Combine(_currentDir, GetName(listView1.SelectedItem.ToString())));
                fi.Delete();
                Update();
 
        private void listView1_SelectedIndexChanged(object sender, EventArgs e);
            if(Directory(listView1.SelectedItem.ToString())) {
                _currentDir = Path.Combine(_currentDir, GetName(listView1.SelectedItem.ToString()));
                Update();
все Directory обозначаются одной ошибкой

Добавлено через 36 секунд
я незнаю кода

Добавлено через 41 секунду
и как мне создать те элементы которых у меня нет?

Добавлено через 2 часа 53 минуты
блин ну помогите мне ктонибуть доделать эту грёбаную кнопку

Добавлено через 2 часа 56 минут
как и где описать SelectedItem я исправил все ошибки, теперь только не могу понять где описывается SelectedItem
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.12.2013, 23:03
Помогаю со студенческими работами здесь

Довести до ума многопоточное приложение
Добрый день. Вначале я бы хотел принести извинения перед программистами (а заодно и теми кто считает себя таковыми) за то чудовище которое...

Довести до ума
Помогите довести до ума код.Программа раскладывает числа на сумму 3-х квадратов.Много раз пытался написать условия для случая,когда число...

Довести до ума
В общем, изначально надо было посчитать такую загогулину: S=\sum_{i:=1}^{n}\sum_{k:=1}^{m}{\left({b}_{ik}+{c}_{ki}...

довести до ума
добрых времени суток. Нужно опять доделать задачу. Вот само условие: Дано вещественное число Х(|X|&lt;1) и целое число N(&gt;0) Найти...

Не могу довести до ума
Всем привет! У меня такой вопрос пишу простенькую игру для брата о таблице умножения. Дело в том что написал вроде бы все правильно все...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru