Forum

Пожалуйста or Регистрация для создания сообщений и тем.

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

Page 1 of 4Next

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

Скрины


Видео

Скачать

Удаленный пользователь, Удаленный пользователь и ещё 3 отреагировали на эту запись.
Удаленный пользовательУдаленный пользовательУдаленный пользовательУдаленный пользовательУдаленный пользователь

Привет 🖐

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

// Координаты нажатия мыши
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)
        {
            // Удаляешь объект
        }
    }
}

Демо

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

Видео

Скачать

admin, Удаленный пользователь и ещё 2 отреагировали на эту запись.
adminУдаленный пользовательУдаленный пользовательУдаленный пользователь
Цитата: 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

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

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

Удаленный пользователь отреагировал на эту запись.
Удаленный пользователь

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

Page 1 of 4Next