Использовать AnimateWindow в новом потоке
Как я могу оживить два окна одновременно? Я старался:
[DllImport("user32.dll", CharSet = CharSet.Auto)]
static extern bool AnimateWindow(IntPtr hwnd, int time, int flags);
...
AnimateWindow(panel1.Handle, speed, AW_SLIDE | AW_HOR_Top);
AnimateWindow(panel2.Handle, speed, AW_SLIDE | AW_HOR_Top);
Но панель2 не будет анимирована, пока панель1 не закончит анимацию.
Я должен использовать потоки.. но я не могу, даже если я использовал invoke .. также он запускает 2-ю анимацию после 1-го
так как я могу это сделать?
1 ответ
Если вы хотите анимировать 2 windws одновременно, я думаю, вам придется использовать некоторые потоки. Но поскольку вы говорите, что уже использовали его - я думаю, что ваши потоки не синхронизированы, вы просто, вероятно, используете два потока без их синхронизации. объявите метод, вызывающий animatewindow, как синхронизированный, и он должен работать.
благодарю вас.!!