tabPage - wolne ładowanie

0

Witam,

Mam tabPage który posiada 2 strony, problem w tym, że 2 strona posiada około 80 kontrolek i przy pierwszej próbie otwarcia strona bardzo wolno się ładuje. Trzeba poczekać kilka sekund zanim się otworzy. Problem występuje tylko przy pierwszym otwarciu.
Jak rozwiązać ten problem ?

0

Ja bym zrobił każdy tab jak UserControl i tak:
pierwszy widoczny ładować w głównym wątku, resztę w nowych. Zanim ktoś przejdzie do kolejnych tabów będą już załadowane. ewentualnie możesz sprawdzać czy się załadował i nie wpuszczać usera przed załadowaniem albo dać jakiś progress ring, żeby ładnie wyglądało.

0

Kurcze... mógłbyś podpowiedzieć jak zrobić z mojego tabPage2 user control i go ładować w głównym wątku?

0

pierwsza stronę normalnie, a kolejne:
tworzysz UserControl, przenosisz wszystkie controlki do tego UserControl, nazwijmy go Page2
tam gdzie masz tabControl w kodzie:

private Page2 page2 = null;
Task.Factory.StartNew(() => {
    this.page2 = new Page2();
    TabPage tabPage = new TabPage();
    tabPage.Text = "cos";
    tabPage.Controls.Add(this.page2);
    this.tabControl.Controls.Add(tabPage); //invoke
});

jakoś tak bym to zrobił. (nie jestem pewny kodu, bo pisałem tutaj a nie w visualu, więc za błędy przepraszam)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0