Ik kwam trouwens achter een hele rare bug in het .Net framework, het blijkt dat als je een ListBox hebt (een soort van ArrayList/List/Vector waar je objecten aan kunt toevogen en die de ToString() van dat object aan roept om de items te laten zien in een lijst). Niet over weg kan met objecten die inherritten van UserControl. Echt ontzettend wazig, je krijgt dan gewoon een lege regel, alsof de .ToString() niet wordt aangeroepen of "" returned.
Ik heb er zelfs een connect item over gemaakt, waar de bug confirmed is maar helaas niet opgelost gaat worden. De oplossing voor dit probleem was gewoon een object maken die niet inherit van UserControl en die als wrapper om je control heen te zetten.
Ik vraag me wel af waar dit door kwam, iemand had het over mogelijke problemen met reflection, maar ik snap het nog steeds niet helemaal. Je zou toch verwachten dat die ListBox alleen maar achter de schermen een List heeft (de niet generic versie) waar alles in gaat en bij het tekenen gewoon:
Hmm ik zou eigenlijk eens moeten kijken hoe die class in elkaar zit, ik geloof dat dat met ildasm kan ofzo? (Nooit geprobeerd).
Anyway voor meer info hier het connect item (hoeft/kan niet meer op gevote worden aangezien het non-priority is, maar dan staat er nog wat meer info en code voorbeelden bij).
http://connect.microsoft....ck.aspx?FeedbackID=473861
(over waarom ik dit wilde, ik had een mooie lijst controls waarvan je nieuwe instanties aan een andere lijst kon toevoegen en zo een beetje een editor had).
Edit: over manuals is er voor mij gewoon weinig wat MSDN kan overtreffen, zowel voorbeelden in meerdere talen als duidelijk wat een functie hoort te doen. De java documentatie vind ik altijd een beetje onoverzichtelijk, het is soms teveel op 1 pagina (op de MSDN heeft vaak elke methode een eigen pagina). De PHP docs vind ik opzich wel ok, maar die user comments zijn soms verradelijk, daar zou iets meer gemodereerd mogen worden.
Ik heb er zelfs een connect item over gemaakt, waar de bug confirmed is maar helaas niet opgelost gaat worden. De oplossing voor dit probleem was gewoon een object maken die niet inherit van UserControl en die als wrapper om je control heen te zetten.
Ik vraag me wel af waar dit door kwam, iemand had het over mogelijke problemen met reflection, maar ik snap het nog steeds niet helemaal. Je zou toch verwachten dat die ListBox alleen maar achter de schermen een List heeft (de niet generic versie) waar alles in gaat en bij het tekenen gewoon:
C#:
1
2
3
4
| for (int i = 0; i < this.items.count; i++) { this.draw(items[i].ToString()); //en nog iets met posities enzo } |
Hmm ik zou eigenlijk eens moeten kijken hoe die class in elkaar zit, ik geloof dat dat met ildasm kan ofzo? (Nooit geprobeerd).
Anyway voor meer info hier het connect item (hoeft/kan niet meer op gevote worden aangezien het non-priority is, maar dan staat er nog wat meer info en code voorbeelden bij).
http://connect.microsoft....ck.aspx?FeedbackID=473861
(over waarom ik dit wilde, ik had een mooie lijst controls waarvan je nieuwe instanties aan een andere lijst kon toevoegen en zo een beetje een editor had).
Edit: over manuals is er voor mij gewoon weinig wat MSDN kan overtreffen, zowel voorbeelden in meerdere talen als duidelijk wat een functie hoort te doen. De java documentatie vind ik altijd een beetje onoverzichtelijk, het is soms teveel op 1 pagina (op de MSDN heeft vaak elke methode een eigen pagina). De PHP docs vind ik opzich wel ok, maar die user comments zijn soms verradelijk, daar zou iets meer gemodereerd mogen worden.
[ Voor 11% gewijzigd door roy-t op 17-07-2009 14:58 ]