Возврат выдвигающийся панели
Столкнулся с проблемой в асинхронах, не могу возвратить панель назад, после её "выдвижения". Снизу виднеется попытка сделать возврат, но ничего не получается. Панели наложены друг на друга. За первичный код - спасибо Ивану Рудакову. Читаю документацию уже 2 час (очень продуктивно). Ценю любую помощь.
public async void Animation_Async()
{
await Task.Run(() => {
int Height = panel2.Size.Height;
while (panelanimatoin.Size.Height <= Height)
{
Task.Delay(1);
Invoke(new Action(() => { panelanimatoin.Size = new Size(panelanimatoin.Width, panelanimatoin.Size.Height + 1);
}));
Invoke(new Action(() => {
bool moveRight = true;
panelanimatoin.Left += moveRight ? 1 : -1;
if (panelanimatoin.Left > 500) moveRight = false;
}));
}
});
}
public void panel_animatoin_Hover(object sender, EventArgs e)
{
Animation_Async();
}