Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
 Аватар для Kenedy
14 / 15 / 5
Регистрация: 11.10.2012
Сообщений: 121
.NET 4.x

Плавное раздвижение формы

15.08.2013, 16:45. Показов 1960. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
if (this.Size != new Size(460, 525))
            {
                this.Size = new Size(460, 525);
            }
            else
            {
                this.Size = new Size(460, 251);
            }
Ток нужно это сделать плавно, типа:
Плавное закрытие формы:
C#
1
2
3
4
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            for (; Opacity > 0; Opacity -= .01, System.Threading.Thread.Sleep(10)) ;
        }
Плавное открытие формы:
C#
1
2
3
4
5
6
7
8
Opacity = 0;
            Timer timer = new Timer();
            timer.Tick += new EventHandler((sender, e) =>
            {
                if ((Opacity += 0.05d) == 1) timer.Stop();
            });
            timer.Interval = 100;
            timer.Start();
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.08.2013, 16:45
Ответы с готовыми решениями:

Плавное раскрытие формы
Здравствуйте! Как сделать так, что бы форма растягивалась и сужалась плавно??? (без резких движений)

Плавное появление и исчезновение формы
Сделал я форму, захотелось сделать её плавно появляющейся и плавно закрывающейся, впринципи получилось, но есть трабла: форма появляется не...

Плавное изменение цвета формы
Хдравствуйте, есть такая задача: При перемещении указателя мыши по форме она должна плавно менять свой цвет от значений в углах:...

3
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
15.08.2013, 17:35
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void SetSize(int width, int height)
{
   double sw = (double)(width-this.Size.Width)/50.0;
   double sh = (double)(height-this.Size.Height)/50.0;
   double tw = width, th=height;
   for(int i=0; i<50; i++)
   {
        tw+=sw; th+=sh; 
        this.Size = new Size(tw, th);
         System.Threading.Thread.Sleep(40);
   }
}
0
 Аватар для Kenedy
14 / 15 / 5
Регистрация: 11.10.2012
Сообщений: 121
15.08.2013, 18:48  [ТС]
Цитата Сообщение от Learx Посмотреть сообщение
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void SetSize(int width, int height)
{
   double sw = (double)(width-this.Size.Width)/50.0;
   double sh = (double)(height-this.Size.Height)/50.0;
   double tw = width, th=height;
   for(int i=0; i<50; i++)
   {
        tw+=sw; th+=sh; 
        this.Size = new Size(tw, th);
         System.Threading.Thread.Sleep(40);
   }
}
У меня всё равно резко перескакивает =С

Добавлено через 50 минут
т.к мне двигать нужно только по высоте(height)
Накропал такое вот....
C#
1
2
3
4
5
6
7
8
9
10
        private void Set2Size(int width = 460, int height = 525)
        {
            double sh = (double)(height - this.Size.Height) /50.0;
            double s2 = (double)(this.Size.Height);
            for (int i = 0; i < 50; i++)
            {
                int ssw = Convert.ToInt32(s2 += sh);
                this.Size = new Size(this.Size.Width, ssw);
                System.Threading.Thread.Sleep(40);
            }
но проблема в том что когда форма начинает двигаться всё вот таким становится, пока полностью не раздвинется ((:
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
16.08.2013, 10:40
1) уменьшите шаг и время задержки
2) вызывайте перед паузой this.Invalidate();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.08.2013, 10:40
Помогаю со студенческими работами здесь

Плавное появление и исчезновение формы
Пишу прогу, хочу сделать плавное появление и исчезновение формы. Сделала что то следующие: public partial class Form1 : Form { ...

Плавное закрытие формы (прозрачность по таймеру)
Добрый день! Вот столкнулся с проблемой, у меня есть форма,при закрытии которой открывается другая форма, но на ней стоит таймер, по...

Не удается сделать плавное исчезновение формы
Форма скрывается моментально через 3 секунды(время задержки), нет плавности:( using System.Diagnostics; //для задержки private...

Плавное изменение размеров формы через таймер
Всем привет, нужно сделать плавное изменение размера формы, но первое что пришло в голову - не работает (форма расширяется до...

Плавное появление формы, когда процессор занят на 100%
Собственно сабж.. Нужно реализовать плавное появление формы(тулбара) когда процессор занят почти на 100%, а то сделал через цыкл и через...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru