Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
11 / 12 / 8
Регистрация: 16.11.2016
Сообщений: 892
1

Как сделать плавную анимацию?

05.06.2019, 19:37. Показов 2218. Ответов 1
Метки нет (Все метки)

У моей программы лишь 1 задача: двигать одну картинку повверх другой по нажатию той, или иной кнопки. Происходит это мгновенно после нажатия, как сделать плавную анимацию? Скажем, чтобы движение происходило 0.5 секунды. Вот код, который выполняется по нажатию кнопки. Что добавить на форму?
C#
1
2
usery++;
pictureBox2.Top -= 48;
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.06.2019, 19:37
Ответы с готовыми решениями:

Как сделать анимацию?
Вообщем, есть отрисованный объект (снеговик) как заставить его перемещаться по экрану? Вот код { ...

Как сделать анимацию в отдельном потоке
Если запускать без отладки то все нормально, а если запустить с отладкой, то выскакивает ошибка.

Как для кнопок сделать анимацию (эффект затухания)
посмотрите на приложения, сделанные на WinAPI, и на приложения созданные под нэт. у первых когда...

Можно ли в WF вставить готовую анимацию (или как сделать самому)?
Всем привет. Начал делать демонстрацию в WF для пирамидальной сортировки и возник такой...

1
331 / 172 / 100
Регистрация: 07.01.2016
Сообщений: 469
05.06.2019, 19:51 2
triatri3, если два раза подряд не нажимать, то работать будет нормально.
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
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Button1_Click(object sender, EventArgs e)
        {
            panel1.Translate(100, 50, 30, 5000);
        }
    }
    public static class Ext
    {
        public static void Translate(this Control c, int dx, int dy, int fps, int time)
        {
            var timer = new Timer() { Interval = 1000 / fps };
            int count = 0, countMax = (int)(time/1000F * fps);
            float ddx = (float)dx / countMax, ddy = (float)dy / countMax;
            var loc0 = c.Location;
            timer.Start();
            timer.Tick += (s, e) =>
            {
                count++;
                c.Location = new Point((int)(loc0.X + count * ddx), (int)(loc0.Y + count * ddy));
                if (count==countMax)
                {
                    timer.Stop();
                    timer.Dispose();
                }
            };
        }
    }
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2019, 19:51

Как сделать анимацию перемещения текста по форме (игровой автомат)?
Программа игровой автомат. При выйгрышной комбинации в лэйбел добавляются очки. Всё отлично. Но...

Сделать анимацию движения нескольких эллипсов
Нужно сделать анимацию движения 8-10 эллипсов в разных направлениях при загрузке формы с помощью...

Возможно ли сделать так чтобы webbrowser поддерживал css3 анимацию
Здраствуйте, подскажите возможно ли сделать так чтобы webbrowser поддерживал css3 анимацию, без...

Как сделать плавную анимацию height?
Привет. Создал страницу с верхним меню навигации. При прокрутке контента меню фиксируется и...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.