[C#] Paint n.a.v. buttonclick

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • devguru
  • Registratie: April 2007
  • Laatst online: 17-09 12:19
Beste tweakers,

Ik ben op het moment iemand aan het helpen waarbij een kaart getekend moet worden in een picturebox. Opzich is het tekenen niet zo'n probleem, maar:

- De coördinaten komen vanuit een tekstbestand die de gebruiker zelf kan selecteren. Nadat deze is geselecteerd wordt er een methode aangeroepen die de boel netjes parsed en in Coordinaat objecten stopt die op zichzelf weer worden bijgehouden in een lijst. Deze functie schrijft deze lijst naar een globlaal attribuut in de Form-klasse waardoor elke functie deze kan benaderen. Vervolgens heb ik in de paint-methode een check staan om te kijken of die coordinaat-lijst niet leeg is, zoniet dan roept deze een tekenmethode aan die ook daadwerkelijk de boel tekent (naar globaal attribuut Graphics). Onderaan in die tekenmethode doe ik een refresh op mijn picturebox.

Als ik de boel execute zie ik ~ 0,5 seconden de juist getekende coordinaten en daarna krijg ik een rood kruis over mijn gehele picturebox. Na wat gegoogle kom ik toch niet op de juiste resultaten dus ik denk - ik vraag hiet hier.

Mochten jullie code willen zien dan is dat sowieso mogelijk, ik denk alleen dat het een wat algemener probleem is in de gedachengang van mij.

Alvast bedankt!

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ergens slik je een exception in (of je meldt 'm hier niet) want daar duidt dat rode kruis op (specifiek: een GDI exception als ik me niet vergis). Ik vermoed dat je een cross-thread exception krijgt (en dus vanuit een verkeerde thread aan 't tekenen bent ofzo) maar dat is puur een gok. Ander veelvoorkomend probleem is dat je (GDI) resources lekt (en dus niet netjes using (...) { ... } of dispose() gebruikt).

Verder zou ik de picturebox niet rechtstreeks gebruiken om in te tekenen, maar gewoon een bitmap gebruiken en die, wanneer je klaar bent met tekenen, assignen aan de picturebox.

Zie ook http://weblogs.asp.net/cf...ve/2005/10/19/427952.aspx, [google="picturebox red x"] en [google="picturebox red cross"] overigens.

[ Voor 54% gewijzigd door RobIII op 20-10-2011 13:42 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • devguru
  • Registratie: April 2007
  • Laatst online: 17-09 12:19
Bedankt voor je reactie!

Ik zal straks eens met een bitmap aan de slag gaan, dit lijkt me voor de toepassing waarmee ik bezig ben veel makkelijker! Ik laat straks wel weten of het lukt :-)