Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для chaleureux
25 / 28 / 19
Регистрация: 24.12.2014
Сообщений: 1,260

Как развернуть форму с анимацией?

05.11.2016, 23:37. Показов 1228. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не получается развернуть форму с использованием анимации.
Вот класс:
C# Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class WinAPI
{
    [DllImport("user32", CharSet = CharSet.Auto)]
    public static extern int AnimateWindow(IntPtr hwnd, int dwTime, int dwFlags);
 
    public const int AW_HOR_POSITIVE = 1;
    public const int AW_HOR_NEGATIVE = 2;
    public const int AW_VER_POSITIVE = 4;
    public const int AW_VER_NEGATIVE = 8;
    public const int AW_HIDE = 65536;
    public const int AW_ACTIVATE = 131072;
    public const int AW_SLIDE = 262144;
    public const int AW_BLEND = 524288;
}
Скрываю форму так:
C# Скопировано
1
2
 WinAPI.AnimateWindow(Handle, 500, WinAPI.AW_BLEND | WinAPI.AW_HIDE);
            this.WindowState = FormWindowState.Minimized;
А как развернуть её с таким же параметром типо:
C# Скопировано
1
2
WinAPI.AnimateWindow(Handle, 500, WinAPI.AW_BLEND | WinAPI.AW_ACTIVATE);
            this.WindowState = FormWindowState.Normal;
(Попытался не получается )
Так же пробовал вставлять в свойства Form
1 - Resize
2 - Shown

Как быть?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.11.2016, 23:37
Ответы с готовыми решениями:

Как развернуть форму на весь экран
Подскажите пожалуйста - как программно максимизировать форму? Могу программно установить произвольные размеры формы, могу узнав разрешение...

Как развернуть форму на весь экран
Как сделать так, чтобы при разворачивании окна на весь экран, элементы окна тоже разворачивались? В окне находятся TreeView и...

Как свернуть или развернуть форму
Как свернуть или развернуть форму из программы? Не закрыть (Close()) или открыть (Show()), а именно свернуть или развернуть из кода...

2
 Аватар для IamRain
4604 / 2625 / 722
Регистрация: 02.08.2011
Сообщений: 7,044
06.11.2016, 01:49
Надо просто вызвать эту функцию с флагом AW_ACTIVATE.
Только вот она не очень то хорошо работает в Vista/7.
Note that this function does not work correctly on windows vista/7 with the aero theme enabled.
C# Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private void Form1_Load(object sender, EventArgs e)
        {
            _timer.Interval = 2000;
            _timer.Tick += (o, ea) =>
            {
                if (_hidden)
                {
                    WinAPI.AnimateWindow(Handle, 500, WinAPI.AW_BLEND | WinAPI.AW_ACTIVATE);
 
                }
                else
                {
                    WinAPI.AnimateWindow(Handle, 500, WinAPI.AW_BLEND | WinAPI.AW_HIDE);
                }
                _hidden = !_hidden;
 
            };
            _timer.Start();
        }
1
 Аватар для chaleureux
25 / 28 / 19
Регистрация: 24.12.2014
Сообщений: 1,260
06.11.2016, 15:36  [ТС]
Ваш пример, он открывает и скрывает ( по таймеру) каждые 3 секунды)
А _hidden условие, я так полагаю:
C# Скопировано
1
bool _hidden = true;
?

Добавлено через 2 минуты
Мне нужно просто развернуть форму из панели задач с анимацией) ( после того как свернул )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.11.2016, 15:36
Помогаю со студенческими работами здесь

Как закрыть одну форму, и развернуть другую
Ребята, не пойму почему после выбора radioButton, я хочу закрыть окно и открыть форму с окнами, но происходить иное: опускается окно...

Развернуть форму обратно
Ребят , вот так я открываю форму с "игрой" пряча при этом форму меню . private void btGameStart_Click(object sender,...

Развернуть форму на весь экран
Доброго времени суток всем, подскажите, как связать размер Form с размером экрана. Т.е. чтобы форма помещалась в экран, вне зависимости от...

Развернуть форму из трея через SetForegroundWindow
В общем при запуске программы, она находит другой процесс Z по имени и вызывает его командой SetForegroundWindow(Z.MainWindowHandle). Если...

Если свернуть и развернуть форму, то рисунок начинает заново прорисовываться
Здравствуйте! Имеется проблема: есть компонент (panel, picturebox, не суть важно), в котором в событии paint прописан следующий код ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
BASH scripting - the best cases [PurpleSchool]
jigi33 08.04.2025
Занятия BASH в PurpleSchool - отличные примеры для внедрения в практику (see screenshots and file names)
Результаты исследования от команды MCM (март 2025 г.)
Programma_Boinc 07.04.2025
Результаты исследования от команды MCM (март 2025 г. ) В рамках наших текущих исследований мы продолжаем изучать гены, которые имеют наибольшую вероятность развития рака легких, выявленные в рамках. . .
Рекурсивные типы в Python
py-thonny 07.04.2025
Рекурсивные типы - это типы данных, которые определяются через самих себя или в сочетании с другими типами, которые в свою очередь ссылаются на исходный тип. В мире программирования такие структуры. . .
C++26: Объединение и конкатенация последовательностей и диапазонов в std::ranges
NullReferenced 07.04.2025
Работа с последовательностями данных – одна из фундаментальных задач, с которой сталкивается каждый разработчик. C++ прошел длинный путь в эволюции средств для манипуляции коллекциями – от. . .
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер