Hi allemaal 
Ik heb het volgende probleem:
Ik heb een Excel bestand, met een taskpane (via Addin Express).
Dat taskpane is gewoon een usercontrol die geplaatst wordt in een container, en dan heb je toegang tot de excel applicatie. Heel eenvoudig dus.
Maar nu moet ik een checkbox schrijven die als die wordt gechecked een bepaald value naar de sheet moet schrijven. So far so good.
Het probleem is dat op het moment dat die value naar de sheet wordt geschreven dat er een calculatie wordt getriggerd.
Nu zou ik dus die checkbox willen disablen om te vermijden dat calculaties 'gequeued' kunnen worden.
Dus ik heb mijn CheckHandler
Goed dat werkt dus, maar een persoon kan nog altijd meerdere keren op de checkbox klikken, omdat het lijkt dat het niet werkt, maar dan worden zijn acties gewoon op een queue gezet door .NET en achter elkaar afgehandeld (frustratie!)
Nu had ik al geprobeert van een panel ervoor te tekenen (doorschijnend) of de gehele user control op disabled te zetten maar zelfs dat biedt geen soelaas.
Kent iemand hier de quirks van Winforms en zou die persoon mij kunnen uitleggen hoe ik dit probleem omzeil?
Ik heb het volgende probleem:
Ik heb een Excel bestand, met een taskpane (via Addin Express).
Dat taskpane is gewoon een usercontrol die geplaatst wordt in een container, en dan heb je toegang tot de excel applicatie. Heel eenvoudig dus.
Maar nu moet ik een checkbox schrijven die als die wordt gechecked een bepaald value naar de sheet moet schrijven. So far so good.
Het probleem is dat op het moment dat die value naar de sheet wordt geschreven dat er een calculatie wordt getriggerd.
Nu zou ik dus die checkbox willen disablen om te vermijden dat calculaties 'gequeued' kunnen worden.
Dus ik heb mijn CheckHandler
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
| Private Sub CheckHandler(..., ...) handles CheckBoxTest.Checked Me.CheckBoxTest.Enabled = False Me.Update() 'update the UI 'schrijf iets weg naar het field wat een calculation triggert. 'dit duurt +- 5 seconden Me.CheckBoxTest.Enabled = True End Sub |
Goed dat werkt dus, maar een persoon kan nog altijd meerdere keren op de checkbox klikken, omdat het lijkt dat het niet werkt, maar dan worden zijn acties gewoon op een queue gezet door .NET en achter elkaar afgehandeld (frustratie!)
Nu had ik al geprobeert van een panel ervoor te tekenen (doorschijnend) of de gehele user control op disabled te zetten maar zelfs dat biedt geen soelaas.
Kent iemand hier de quirks van Winforms en zou die persoon mij kunnen uitleggen hoe ik dit probleem omzeil?
[ Voor 5% gewijzigd door Snake op 26-02-2010 14:09 ]
Going for adventure, lots of sun and a convertible! | GMT-8