c# - Winform зависает и мигает при стыковке с помощью weifenluo winformsui docking - PullRequest
0 голосов
/ 04 марта 2020

При закреплении Winform форма зависает, и все элементы управления мигают в течение нескольких секунд, а затем она закрепляется. Мои формы наследуют WeifenLuo.WinFormsUI.Docking.DockContent.

Я связываю источник данных с представлениями данных другой формы (будет открыт) из текущей формы.

Я попробовал следующие два подхода. У обоих одинаковые проблемы с зависаниями.

Подход 1:

SecondForm.Datagridview1.DataSource = DataTable1
SecondForm.Datagridview2.DataSource = DataTable2
SecondForm.Datagridview3.DataSource = DataTable3
SecondForm.Datagridview4.DataSource = DataTable4
SecondForm.Datagridview5.DataSource = DataTable5
SecondForm.MdiParent = mdiForm;
SecondForm.Text = "Second Form";
SecondForm.Show(mdiForm.CenterDockPanel);

Подход 2: подписан на SecondForm и опубликован в Datatables на SecondForm.

 SecondForm secForm = new SecondForm(); // Subscribe happens in Ctor
 //publish happens here
 secForm.MdiParent = mdiForm;
 secForm.Text = "Second Form";
 secForm.Show(mdiForm.CenterDockPanel); // After execution of this line, event from SecondForm will get triggered after Form Load 

Зависание происходит во всех формах. Но если форма загружается с меньшим количеством данных с меньшим количеством элементов управления, она зависает на очень короткое время. Если форма загружается с огромным количеством данных с несколькими элементами управления, она зависает еще несколько секунд, а затем загружается.

У меня мало знаний о WeifenLuo.WinFormsUI. Если здесь есть какой-нибудь эксперт, не могли бы вы помочь с этим, будь то поведение или я что-то упустил.

Спасибо.

...