У меня есть приложение в стиле Outlook. Так что в основном у меня есть боковая панель слева и справа у меня есть панель управления (pnlMainBody), которая содержит контент.
Контент, как правило, представляет собой пользовательский элемент управления, который я добавляю на панель, когда пользователь нажимает соответствующую кнопку на боковой панели. Я добавляю пользовательский элемент управления на панель следующим образом:
// _pnlEmails is the User Control that I am adding to the panel
_pnlEmails = new pnlEmails();
_pnlEmails.Dock = DockStyle.Fill;
this.pnlMainBody.Controls.Add(_pnlEmails);
Некоторые пользовательские элементы управления, которые я добавляю в основную панель, довольно сложны с точки зрения пользовательского интерфейса. Поэтому, когда срабатывает this.pnlMainBody.Controls.Add(_pnlEmails);
, на экране появляется элемент управления, а затем он изменяет свой размер, заполняя тело элемента управления панели.
Это на самом деле довольно уродливо, так что мне было интересно, есть ли способ не показывать изменение размера, пока оно фактически не закончило изменение размера?
Я попытался установить для .Visible
пользовательского элемента управления значение false. Я пытался сделать .SuspendLayout
, но все безрезультатно.
Есть ли способ сделать это, чтобы переходы экрана были плавными?