Я работаю над большим проектом. Моя форма представляет собой контейнер mdi формы 1. Form1 загрузка слишком медленная, и я вижу, что элементы управления отображаются.
У каждой формы есть метод обновления, но у меня все еще есть та же проблема. Я не могу использовать задачу для создания новой формы.
это мой код
form1.MdiParent = Me
form1.Show()
моя форма имеет более 40 элементов управления (текстовое поле, ярлык, gridview...) и да, это большой пользовательский интерфейс. Есть ли какое-либо решение использовать технологию совпадения, например: task, async ждут?
После запуска некоторых тестов и изучения старого кода я смог найти что-то, что помогает в этой конкретной проблеме, вы можете попробовать добавить следующий стиль к своей форме
public partial class Form1 : Form
{
protected override CreateParams CreateParams
{
get
{
CreateParams CP = base.CreateParams;
CP.ExStyle = CP.ExStyle | 0x02000000; // WS_EX_COMPOSITED
return CP;
}
}
}
Вы можете посмотреть документацию WS_EX_COMPOSITED здесь: http://msdn.microsoft.com/en-us/library/windows/desktop/ff700543(v=vs.85).aspx
Я попробовал это в форме с 752 дочерними элементами управления (ярлыки, текстовые поля, датаигры, списки со списками и списки), и я не вижу, как детальные элементы управления больше рисуются, они просто всплывают в представлении.
Версия VB:
Protected Overrides ReadOnly Property CreateParams() As CreateParams
Get
Dim cp As CreateParams = MyBase.CreateParams
cp.ExStyle = cp.ExStyle Or &H02000000
Return cp
End Get
End Property