Hallo allemaal!
Eventjes een korte schets van de situatie:
Een mdicontainer met een aantal aanroepbare methoden;
In deze mdicontainer kan je andere vensters openen en op 1 van deze vensters kan je een methode aanroepen die zeer cpu-intensief werkt. Deze methode roept tijdens de werking eveneens die aanroepbare methoden van de mdicontainer op. Nu is het zo dat, indien de gebruiker dit wil, het intensieve proces moet kunnen onderbroken worden. Indien ik nu op het knopje Cancel klikt, dan reageert de applicatie er niet op vermits hij bezig is met die intensieve methode.
Hoe zou ik dit het beste oplossen?
Ik heb gedacht om te die intesieve methode te laten werken met in BackgroundWorker, maar deze aparte thread kan uiteraard niet aan de verschillende methoden en variabelen uit de mainthread, terwijl dit echt wel noodzakelijk is. Alle nodige variabelen meegeven is geen optie, omdat het er te veel zijn. Maar ben ik wel in de juiste richting aan het denken?
Alvast bedankt
Eventjes een korte schets van de situatie:
Een mdicontainer met een aantal aanroepbare methoden;
In deze mdicontainer kan je andere vensters openen en op 1 van deze vensters kan je een methode aanroepen die zeer cpu-intensief werkt. Deze methode roept tijdens de werking eveneens die aanroepbare methoden van de mdicontainer op. Nu is het zo dat, indien de gebruiker dit wil, het intensieve proces moet kunnen onderbroken worden. Indien ik nu op het knopje Cancel klikt, dan reageert de applicatie er niet op vermits hij bezig is met die intensieve methode.
Hoe zou ik dit het beste oplossen?
Ik heb gedacht om te die intesieve methode te laten werken met in BackgroundWorker, maar deze aparte thread kan uiteraard niet aan de verschillende methoden en variabelen uit de mainthread, terwijl dit echt wel noodzakelijk is. Alle nodige variabelen meegeven is geen optie, omdat het er te veel zijn. Maar ben ik wel in de juiste richting aan het denken?
Alvast bedankt
edit:
vergeten bij de vermelden: .NET 3.5 in c#
vergeten bij de vermelden: .NET 3.5 in c#
[ Voor 3% gewijzigd door Verwijderd op 14-04-2008 15:33 ]