Вы должны войти, чтобы создавать сообщения и темы.

AppBar + (ДЗ по анимации)

Страница 1 из 3► 3

Всем привет!
Накидал небольшой AppBar с нелинейной анимацией, который берёт список приложений из файла.

Скрины


Видео

Скачать:

uploadee
ЯндексДиск

Лайкнули 𝐓𝐇𝐎𝐑𝐭𝐢𝐤, Mikhail и ещё 3
𝐓𝐇𝐎𝐑𝐭𝐢𝐤MikhailPixiKiya229Vladislav

Привет 🖐

Твоё домашнее задание:

// Координаты нажатия мыши
Point MouseDownLocation;

// Событиые на удерживание ЛКМ на PictureBox
void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
    // Если нажал ЛКМ
    if (e.Button == MouseButtons.Left)
    {
        // Записать координаты в переменную
        MouseDownLocation = e.Location;
    }
}

// Событиые на движение мыши, пока прожата ЛКМ
void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
    // Если нажал ЛКМ
    if (e.Button == MouseButtons.Left)
    {
        // Назначить координаты PictureBox в соответствии с тем, где катается мышь
        pictureBox1.Left = e.X + pictureBox1.Left - MouseDownLocation.X;
        pictureBox1.Top = e.Y + pictureBox1.Top - MouseDownLocation.Y;

        // Если PictureBox уехал из зоны формы
        if (pictureBox1.Location.Y > Height)
        {
            // Удаляешь объект
        }
    }
}

Демо

В любой непонятной ситуации переходи на beta  © Win 10 Tweaker

Добрый🖐.
Прикольная штука, мне нравится), осталась доработать, у меня почему-то анимация кривая+ еще немного багов, и не помешало бы еще чтоб и папку можно было бы засунуть туда, + кнопку закрыть добавить. Еще иконка приложений не красивая получается, так как размер иконки при перемещении в appbar большая и расплывается.

«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн

Привет 👋
Думаю нужно добавить проверку на запущенную копию программы.
Если юзер запустить повторно программу то появится MessageBox окно с  вопросом? Перезапустить программу?
Это будет логичнее, так как пользователь зачем-то запускает повторно Appbar, значит ему нужно её перезапустить, это скорее всего)

Панель с таки размером можно оставить, но саму область иконки программы можно уменьшить 😉

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

Ошибка

Подробная информация об использовании оперативной
(JIT) отладки вместо данного диалогового
окна содержится в конце этого сообщения.

************** Текст исключения **************
System.ComponentModel.Win32Exception (0x80004005): Не удается найти указанный файл
в TsudaKageyu.IconExtractor.Initialize(String fileName)
в AppBar.Form1.<Do>d__14.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

************** Загруженные сборки **************
mscorlib
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4400.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
new
Версия сборки: 1.0.0.0
Версия Win32: 1.0.0.0
CodeBase: file:///C:/Users/xozip/AppData/Local/Temp/Rar$EXa3328.17670/AppBar.exe
----------------------------------------
System.Windows.Forms
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4400.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4360.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4395.0 built by: NET48REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4341.0 built by: NET48REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4395.0 built by: NET48REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4161.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
mscorlib.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4161.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4161.0 built by: NET48REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ru_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
Microsoft.CSharp
Версия сборки: 4.0.0.0
Версия Win32: 4.8.4161.0
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.CSharp/v4.0_4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll
----------------------------------------

************** Оперативная отладка (JIT) **************
Для подключения оперативной (JIT) отладки файл .config данного
приложения или компьютера (machine.config) должен иметь
значение jitDebugging, установленное в секции system.windows.forms.
Приложение также должно быть скомпилировано с включенной
отладкой.

Например:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

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

Добрый день!
Выглядит круто, хорошая идея. Согласен, что нужно реализовать вещи, описанные Pixl'ем.
Ещё круто было бы, если бы можно было менять положение этой панели снизу, сверху, справа, слева.
В идеале ещё переключение тёмной и светлой тем сделать и станет неотъемливой частью программ постоянного пользования 🙂

Цитата: Pixi от 24.07.2021, 05:21

Привет 👋
Думаю нужно добавить проверку на запущенную копию программы.
Если юзер запустить повторно программу то появится MessageBox окно с  вопросом? Перезапустить программу?
Это будет логичнее, так как пользователь зачем-то запускает повторно Appbar, значит ему нужно её перезапустить, это скорее всего)

Панель с таки размером можно оставить, но саму область иконки программы можно уменьшить 😉

День добрый.
Подскажите, пожалуйста что за иконка на архиве у вас, это какой-то архиватор или просто иконка? Если можно, поделитесь названием/файлом.

Доброй ночи!
Обновил..
Исправил:
- "Дрыгание" при кликах по открытому бару
- Паршивое качество иконок
- Отсутствие анимации при сворачивании, когда менее 4-х иконок в баре.

Добавил:
- Возможность удалять и добавлять объекты без надобности копаться в Apps.ini
- Закрытие программы правым кликом
- Возможность добавить папку (пока что с "НО")
- Счётчик ошибок при запуске (Если программа не смогла запуститься 4 раза, то она закроется, с рекомендацией проверить файл Apps.ini.. ErrorCount = 1 норм.. 2 и более, не норм)

Видео

Лайкнули XpucT, Mikhail и ещё 2
XpucTMikhailMak0013Vladislav
Цитата: XpucT от 24.07.2021, 01:58

Привет 🖐

Твоё домашнее задание:

Сразу всем привет!)
Сделал)

Цитата: Mikhail от 24.07.2021, 02:44

Добрый🖐.
Прикольная штука, мне нравится), осталась доработать, у меня почему-то анимация кривая+ еще немного багов, и не помешало бы еще чтоб и папку можно было бы засунуть туда, + кнопку закрыть добавить. Еще иконка приложений не красивая получается, так как размер иконки при перемещении в appbar большая и расплывается.

Качество иконок поправил, анимацию тоже, папки прикрутил, но пока без опознавательных знаков, кнопка закрыть - ПКМ)

Цитата: Pixi от 24.07.2021, 05:21

Думаю нужно добавить проверку на запущенную копию программы.

Панель с таки размером можно оставить, но саму область иконки программы можно уменьшить 😉

Ищу способ это сделать, вроде задача плёвая, но пока не решил.
Иконки сделал меньше на несколько пикселей

Цитата: Vladislav vaidee от 24.07.2021, 19:01

Ещё круто было бы, если бы можно было менять положение этой панели снизу, сверху, справа, слева.
В идеале ещё переключение тёмной и светлой тем сделать и станет неотъемливой частью программ постоянного пользования 🙂

И это буду изучать)

Цитата: Kiya229 от 24.07.2021, 18:52

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

Привет, проверь обновлённую версию.

Лайкнул Vladislav
Vladislav

Привет.
Теперь все работает четко👍, надо бы еще убрать, чтоб app не был "поверх всех окон", мне по крайне мере неудобно.

«Любой дурак может знать. Дело в том, чтобы понять.» — Альберт Эйнштейн
Цитата: Mikhail от 25.07.2021, 02:43

чтоб app не был "поверх всех окон"

Добавлю переключение колёсиком мыши.

Ещё обновка.
Если уже запущен AppBar, то новый экземпляр не появится.
ПКМ — завершить AppBar
Колесо мыши — Вкл\Выкл режим поверх всех окон..

Лайкнули Mikhail и Kiya229
MikhailKiya229

Привет, теперь всё работает идеально, пожалуй добавлю в автозагрузку!

Лайкнул XpucT
XpucT
Цитата: Kiya229 от 25.07.2021, 08:49

Привет, теперь всё работает идеально, пожалуй добавлю в автозагрузку!

При открытии панель на несколько секунд Скопированоперемещается в левый верхний угол, немного Скопированорезкий переход при уменьшении окна.

Страница 1 из 3► 3