Ik ben bezig met een hobby projectje en ik probeer iets te bereiken waar ik sowiso niet zeker van ben of het wel mogelijk is.
Situatie is als volgt, ik heb 2 usercontrols: Lichtknop en VelbusConnector
Lichtknop is niet meer dan een knop met 2 states (Aan, Uit), en een custom property myVelbusConnector van het type VelbusConnector
VelbusConnector is een socketclient met oa. het event PacketReceived.
Wat al werkt is dat ik 1 VelbusConnector gebruik en verschillende Lichtknoppen met dezelfde VelbusConnector als property. Op deze manier worden de commando's van alle knoppen verzonden via dezelfde connector. Ik gebruik nu een subscription op mijn MainForm, maar dit is slordig en niet echt herbruikbaar.
Wat nog niet werkt is om in de Usercontrol Lichtknop te subscriben op het PacketReceived event van de VelbusConnector. Als ik dit probeer krijg ik een Null Ref Exception op myVelbusConnector bij het subscriben van het event.
Ik doe duidelijk iets verkeerd of probeer iets dat niet mogelijk is. Kan er iemand uitsluitsel geven, heb me al suf gegoogled maar niets concreets gevonden.
Events en Usercontrols zijn nog relatief nieuw voor me...
Situatie is als volgt, ik heb 2 usercontrols: Lichtknop en VelbusConnector
Lichtknop is niet meer dan een knop met 2 states (Aan, Uit), en een custom property myVelbusConnector van het type VelbusConnector
VelbusConnector is een socketclient met oa. het event PacketReceived.
Wat al werkt is dat ik 1 VelbusConnector gebruik en verschillende Lichtknoppen met dezelfde VelbusConnector als property. Op deze manier worden de commando's van alle knoppen verzonden via dezelfde connector. Ik gebruik nu een subscription op mijn MainForm, maar dit is slordig en niet echt herbruikbaar.
Wat nog niet werkt is om in de Usercontrol Lichtknop te subscriben op het PacketReceived event van de VelbusConnector. Als ik dit probeer krijg ik een Null Ref Exception op myVelbusConnector bij het subscriben van het event.
C#:
1
2
3
4
5
6
| public Lichtknop() { InitializeComponent(); this.myVelbusConnector.PacketReceived += new VelbusConnector.PacketReceivedHandler(myVelbusConnector_PacketReceived); } |
Ik doe duidelijk iets verkeerd of probeer iets dat niet mogelijk is. Kan er iemand uitsluitsel geven, heb me al suf gegoogled maar niets concreets gevonden.
Events en Usercontrols zijn nog relatief nieuw voor me...