Эффект переворота - PullRequest
3 голосов
/ 03 мая 2011

Я пытаюсь создать эффект переворачивания / скольжения с помощью Winforms.

Если быть точным: эффект, когда первая форма скользит / выталкивается с экрана, а вторая скользит.

После долгих исследований я пришел к выводу, что эффект переворота не работает в Winforms.

Я пробовал следующие вещи для эффекта скольжения:

  1. Встраивание winforms в Wpf-приложение - с использованием Windowsformshost -> Windowsformshost не поддерживает анимацию.

  2. Изменение расположения форм a.с таймером б.с петлей в.отдельные темы

    -> форма мерцает и не выглядит профессионально

  3. Снимок экрана - то есть скриншоты форм

    -> то же самоеПроблема: мерцание

  4. Функция AnimateWindow (API)

    -> API не поддерживает многопоточность -> одновременное скольжение по AND из обеих формэто невозможно.-> та же проблема: мерцание

Дополнительная информация:

Я использую C #, Visual Studio 2010 (Dot net Framework 4.0) Сторонние элементы управления - Telerik В моей форме естьПользовательские элементы управления (расширенные элементы управления Telerik) Для элементов управления я установил для Doubblebuffered значение True.

Было бы очень полезно, если бы кто-то мог помочь / предложить решение этой проблемы (winforms Flipping / Sliding Effect).

С уважением, WickedSquall

Ответы [ 2 ]

4 голосов
/ 03 мая 2011

Наилучшим вариантом будет

5. Переключиться на WPF.Он работает на DirectX, и вам это нужно.

Но я думаю, что это не вариант.Наиболее работоспособным кажется ваш вариант 3 , перемещение растровых изображений.Мерцание должно быть разрешено с двойной буферизацией и т. Д.

0 голосов
/ 12 мая 2011

Вот наше окончательное решение:

Мы решили довести эту проблему до третьей стороны, которая имеет больше опыта работы с графикой.

Лучшее решение с нашими знаниями - перемещение Picturebox с помощью скриншотов и таймера.

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...