Оффтопик. Изучаем C#

Автор Тема: Оффтопик. Изучаем C#  (Прочитано 101131 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1596
  • Карма: 350
  • Отец modplus.org
    • ModPlus

Оффлайн simson43

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Оффтопик. Изучаем C#
« Ответ #181 : 11-11-2018, 22:02:55 »
где там ответ?
там получают файлы.
а мне нужно запретить пихать в листбокс все кроме файлов.
и в конце концов интересно почему выставляя effects=none ничего не меняется и я все равно могу что угодно дропать в лист(

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1596
  • Карма: 350
  • Отец modplus.org
    • ModPlus
Re: Оффтопик. Изучаем C#
« Ответ #182 : 11-11-2018, 22:05:53 »
где там ответ?
там получают файлы.
а мне нужно запретить пихать в листбокс все кроме файлов.
и в конце концов интересно почему выставляя effects=none ничего не меняется и я все равно могу что угодно дропать в лист(
Используйте не DragEnter, а DragOver

Оффлайн simson43

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Оффтопик. Изучаем C#
« Ответ #183 : 11-11-2018, 22:22:28 »
ничего не меняется.
я думаю не в событии дело
а в этом Effects
я назначаю ему значение none  но ничего не происходит.

 а в winform пока я не дам значение all не смогу ничего дропнуть.

Оффлайн Александр Пекшев aka Modis

  • ADN Club
  • *****
  • Сообщений: 1596
  • Карма: 350
  • Отец modplus.org
    • ModPlus
Re: Оффтопик. Изучаем C#
« Ответ #184 : 11-11-2018, 22:27:13 »
Вот нашел пример:
Код - C# [Выбрать]
  1. /// <summary> Event, which is called, when dragged file enters form </summary>
  2. private void UIElement_OnDragEnter(object sender, DragEventArgs e)
  3. {
  4.     if (e.Data.GetDataPresent(DataFormats.FileDrop))
  5.     {
  6.         e.Effects = DragDropEffects.All;
  7.     }
  8.     else
  9.     {
  10.         e.Effects = DragDropEffects.None;
  11.     }
  12. }

Пишут, что работает. Если у вас не работает, то, видимо, проблема где-то в другом месте

Оффлайн simson43

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Оффтопик. Изучаем C#
« Ответ #185 : 11-11-2018, 22:36:06 »
для winform да работает
при чем если вовсе убрать этот обработчик то не разрешает дропать.
в WPF же что с ним что без 0 реакции

Оффлайн simson43

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Оффтопик. Изучаем C#
« Ответ #186 : 11-11-2018, 22:38:39 »
еще такая проблема
в начале выполнении операции я меняю текст кнопки информирую что процесс пошел. по окончании возвращаю значение обратно.
но по факту ничего не меняется будто не изменял  текст кнопки. но если я не возвращаю первоначальное значение то оно меняется но после выполнения операции.
т е он настолько загружен что не может отобразить изменения?

в winform такая стратегия работает.


Оффлайн simson43

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Оффтопик. Изучаем C#
« Ответ #187 : 11-11-2018, 22:58:43 »
решил проблему! во первых, как вы сказали запихал все в событие over, во вторых, добавил одну волшебную строчку (e.Handled = true;), в третьих я (в отличии от любимых winform) не разрешал дропать, присваивая значение all, а запрещал, присваивая none.
вот рабочий код

Код - C# [Выбрать]
  1. private void listBoxFiles_DragOver(object sender, DragEventArgs e)
  2.         {
  3.             if (!e.Data.GetDataPresent(DataFormats.FileDrop, false))
  4.             {
  5.                 e.Effects = DragDropEffects.None;
  6.                 e.Handled = true;
  7.             }
  8.         }

Оффлайн simson43

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Оффтопик. Изучаем C#
« Ответ #188 : 25-03-2019, 13:14:08 »
Возник вопрос касательно класса FileSystemWatcher.
можно ли им пользоваться, если дело касается сетевых дисков? попробовал прописать путь к сетевому диску, но в итоге он просто не реагирует на изменения
с локальным диском все работает

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2465
  • Карма: 694
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Re: Оффтопик. Изучаем C#
« Ответ #189 : 25-03-2019, 14:41:02 »
Возник вопрос касательно класса FileSystemWatcher.
можно ли им пользоваться, если дело касается сетевых дисков?
У меня с этим не было проблем.

Оффлайн simson43

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Оффтопик. Изучаем C#
« Ответ #190 : 25-03-2019, 14:44:34 »
Наверное важное уточнение: по факту это облако, представленное сетевым диском.

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2465
  • Карма: 694
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Re: Оффтопик. Изучаем C#
« Ответ #191 : 25-03-2019, 14:49:46 »
Ну тут надо смотреть как это облако работает. По идее, все облачные хранилища, которые я встречал, имеют папку-буфер на жёстком диске. А эта папка синхронизируется с облачным хранилищем. Вот если к этой папке подключиться - то мониторинг будет работать.

Оффлайн simson43

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Оффтопик. Изучаем C#
« Ответ #192 : 26-03-2019, 13:05:10 »
пойдя чуть дальше пробую читать файл из облака и сравнивать побайтово с локальной копией
и видимо скачанные из облака файлы чем то отличаются (датой как минимум)? но у всех файлов после 15000 байта начинаются различия, хотя файлы только что скопированы и не изменялись...
соответственно файлы меньшего размера (по 14000 байтов) считаются одинаковыми
как тогда ты корректно сравнить?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13077
  • Карма: 1687
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Оффтопик. Изучаем C#
« Ответ #193 : 26-03-2019, 13:07:17 »
simson43,
А что за облако?
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн simson43

  • ADN OPEN
  • ****
  • Сообщений: 411
  • Карма: 9
Re: Оффтопик. Изучаем C#
« Ответ #194 : 26-03-2019, 13:07:38 »
SharePoint