progressbar czas wykonania metody

0

Witam wszystkich.

Mam taki problem:
Mam klasę statyczną w której jest jedna metoda z pewnym algorytmem. Do tego dopisałem program testowy który bada czas wykonywania algorytmu w zależności od parametrów. Metodę wywołuję w klasie programu i liczę czas z wykorzystaniem Stopwatch. Wszystko gra ładnie ale chciałbym jeszcze dodać progressbara który będzie się ładował podczas wykonywania algorytmu ponieważ przy pewnych danych metoda wykonuje się nawet 10sek. Chciałbym nie modyfikować treści metody z algorytmem. Czy da się jakoś podpiąć tę metodę do progressbara lub coś w tym stylu? W ogóle jaka jest filozofia działania tej kontrolki?

Pozdrawiam

0

Jeżeli znasz czas i nie chcesz modyfikować metody to wykonuj ją jako oddzielny proces, a w drugim co jakiś czas (np. 100ms) aktualizuj progressbar.

2

Imo są dwa sensowne rozwiązania.

  1. prostsze - progressbar, który się kręci w nieskończoność(nie musisz śledzić postępu algorytmu)
  2. w procedurze algorytmu wywoływać delegat/event, który będzie informował o postępach i w metodzie wywołującej algorytm zarejestrować sobie jakąś metodę obsługującą takie zdarzenie

Co do pomysłu tomepaw, wystarczy, że na chwilę komp się przytnie, będzie bardziej zajęty i rozwiązanie oparte o czas idzie w łeb.

0

Dzięki za odpowiedzi wpadł mi pomysł pewien ;)

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