Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
 Аватар для winkode
12 / 12 / 1
Регистрация: 01.03.2012
Сообщений: 159

Drag and drop в другом потоке

21.09.2015, 14:58. Показов 683. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такой код :
VB.NET
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
 Private Sub Form1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Me.DragDrop
 
        Dim files() As String = e.Data.GetData(DataFormats.FileDrop)
        For Each path In files
 
 
            Dim reader As IO.StreamReader = Nothing
            Try
 
                If FldrSize(path) / (1024 * 1024 * 1024) < My.Computer.FileSystem.GetDriveInfo(path.Remove(2)).TotalFreeSpace / (1024 * 1024 * 1024) Then
 
 
                    DataGridView1.Rows.Add(path, FldrSize(path) / (1024 * 1024 * 1024))
 
                Else
 
                    ListBox1.Items.Add(path)
                End If
 
            Finally
                If Not reader Is Nothing Then
                    reader.Close()
                End If
            End Try
        Next
 
    End Sub
VB.NET
1
2
3
4
5
6
7
8
 Public Function FldrSize(ByVal dPath As String)
        Dim size As Long = 0
        For Each foundFile As String In My.Computer.FileSystem.GetFiles(dPath, FileIO.SearchOption.SearchAllSubDirectories, "*.*")
            Dim fInfo As New FileInfo(foundFile)
            size += fInfo.Length
        Next
        Return size
    End Function
Все работает,но есть проблема,если добавить несколько большых папок через drag and drop,форма зависает,эта из за того что в главном потоке она проверяет размер папок,и если папки большые(10-100 GB),этот процесс занимает много времени.
Хотел как-то сделать этот процес в другом потоке чтобы форма не зависала когда она добовляет папки.
Спасибо заранее.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.09.2015, 14:58
Ответы с готовыми решениями:

Как получить значение переменной созданной в потоке, в другом потоке?
Добрый день :) Возник такой вопрос &quot;как получить значение переменной созданной в потоке, в другом потоке?&quot; Не знаю, как правильно...

Работа с Dictionary в одном потоке, при этом он может изменятся в другом потоке
Здравствуйте! Я делаю лабу сервер распределенных вычислений в сети. В одном потоке ожидаю клиентов и на каждого клиента создаю поток. ...

Drag and drop
Разрабатываю практическое задание по химии, суть заключается в чем: есть картинки с определенными химическими элементами, которые нужно...

1
 Аватар для winkode
12 / 12 / 1
Регистрация: 01.03.2012
Сообщений: 159
22.09.2015, 20:03  [ТС]
Никто?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.09.2015, 20:03
Помогаю со студенческими работами здесь

Drag and Drop
Мне нужно переместить файл(txt) на форму, при этом во время перетаскивания файла на форме(не на самой форме , а на Panel) должно быть...

Drag And Drop
Доброго времени. Может кто-нить сталкивался с такой проблемой: перетаскивание вложений из документов (письмо в почте) в MS...

Drag and drop
У меня есть нарисованная разметка состоящая из клеточек количеством 32 на 16. На ней в случайном порядке располагаются корабли как в...

Drag and Drop
Нужна помощь в реализации D&amp;D в своей программе. Вообщем, у меня имеется классы наследующие QGraphicsView и QGraphicsPixmapItem. Нужно...

Drag and Drop
Добрый день! Вопрос заключается в следующем: на форме размещаю панель, на панели кнопку. procedure TForm1.Button1MouseDown(Sender:...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через 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
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru