@h1_0ne

Как вызвать родные анимации формы при использовании BorderStyle None?

Добрый день. Необходимо изменит цвет верхней границы формы, как выяснил, лучшим способом сделать это является включить свойство BorderStyle в None. Создал верхнюю панель, но при переключении WindowState сворачивание/разворачивание происходит резко, т.е. без анимации. Как вызвать или воспроизвести эту анимацию?
Так же для перемещения формы использую следующий код
public const int WM_NCLBUTTONDOWN = 0xA1;
public const int HT_CAPTION = 0x2;
[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();

private void MyTopPanel_MouseDown(object sender, MouseEventArgs e)
{
    ReleaseCapture();
    SendMessage(this.Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0); 
}


Если приложение находится в полноэкранном режиме (WindowState Maximize), то после попытки передвинуть его оно переходит в normal, однако если переместить форму на края экрана, то она не развернется в полный экран, как это было бы со стандартным значением BorderStyle. Как реализовать эту функцию?
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ответы на вопрос 1
Родные никак. Этим занимается операционная система. Самому реализовать такой фунционал будет затруднительно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы