login  Naam:   Wachtwoord: 
Registreer je!
 Forum

display leeg maken (Opgelost)

Offline kickasgamer - 05/02/2008 12:00 (laatste wijziging 05/02/2008 12:57)
Avatar van kickasgamerPHP ver gevorderde ik moest nog een test programmatje maken voor een vriend om met vb.net kennis bij te schaven. Ik krijg alle figuren getekent die ik wil (cirkel, vierkant, driehoek) maar ik wil als men voor een andere figuur kiest dat de vorige verwijderd wordt van het scherm, maar hoe ?

alvast bedankt

EDIT: als het niet zou gaan iets uit het form te verwijderderen dan kan je wel een picturebox leeg maken want daar zet ik nu alle images in, maar ik heb nog steeds geen oplossing om die picture box leeg te maken

22 antwoorden

Gesponsorde links
Offline ArComAr - 05/02/2008 14:40
Avatar van ArComAr VB.NET gevorderde Als je op u form tekent, dan moet je code geven, want anders kunnen we niet zien hoe je je variabelen overbreng naar je paint event.
Als je op een picturebox teken (wat ik wel aanraadt eigenlijk), dan moet je alleen de image property van je picturebox op nothing zetten.

  1. picturebox.image=nothing
Offline kickasgamer - 05/02/2008 14:57
Avatar van kickasgamer PHP ver gevorderde dit is mijn code voort moment

ja die picturebox.iamge = nothing had ik geprobeert maar toen werd geen vierkant meer getekent (wel werd de picture box leeg gemaakt 

Plaatscode: 5408
Offline ArComAr - 05/02/2008 15:09
Avatar van ArComAr VB.NET gevorderde doe eens dit:

  1. tekenen.clear(achtergrondkleur)
  2. vb:
  3. tekenen.clear(color.black)
Offline kickasgamer - 05/02/2008 15:21
Avatar van kickasgamer PHP ver gevorderde als ik dit doe wordt mijn hele picturebox zwart

  1. tekenen.clear(color.black)
Offline ArComAr - 05/02/2008 15:29
Avatar van ArComAr VB.NET gevorderde je, dus is u image gewist. Op een andere manier kan je graphics niet wissen. Of je moet gaan werken met bitmaps, en dan kan je gewoon werken met die image property.
uiteraard moet je wel de kleur instellen die jij als achtergrond gebruikt é.
Offline kickasgamer - 05/02/2008 15:44
Avatar van kickasgamer PHP ver gevorderde ik gebruik geen achtergrond kleur, gewoon het beige/grijs standaard kleur van windows forms
Offline ArComAr - 05/02/2008 15:48
Avatar van ArComAr VB.NET gevorderde Je geef je antwoord zelf:

het beige/grijs standaard kleur van u form. Dus ga je de kleur van u form moeten gebruiken.
Offline kickasgamer - 05/02/2008 15:49
Avatar van kickasgamer PHP ver gevorderde uhu maar heeft dat gewoon denaam gray of ?
Offline Abbas - 05/02/2008 16:29
Avatar van Abbas Gouden medaille

Crew .NET
Op MSDN stond dit:
  1. Public Sub ClearColor(e As PaintEventArgs)
  2. 'Clear screen with teal background.
  3. e.Graphics.Clear(Color.Teal)
  4. End Sub

"Teal" is dus de achtergrond kleur van je Form, niet van een of ander Panel.
Offline kickasgamer - 05/02/2008 17:01 (laatste wijziging 05/02/2008 18:07)
Avatar van kickasgamer PHP ver gevorderde dit heb ik nu staat: tekenen.Clear(Color.Teal)

en dit is het resultaat : http://img212.i...gjeha3.jpg

EDIT: de volledig code : Plaatscode: 5414

EDIT2: ik heb vele kleuren geprobeert maar niets lijkt juist te zijn :(
Offline ArComAr - 05/02/2008 18:14 (laatste wijziging 05/02/2008 18:17)
Avatar van ArComAr VB.NET gevorderde
  1. tekenen.clear(me.backcolor)


je zegt: met de achtergrond kleur clearen: dus gebruik je de achtergrondkleur van je form ;)
Offline kickasgamer - 05/02/2008 18:16 (laatste wijziging 05/02/2008 18:18)
Avatar van kickasgamer PHP ver gevorderde jep het werkt bedankt, sorry dat het moeizaam gaat maar ik ben nog maar een beginner 

EDIT: nu heb ik dat op de 3 figuren toegepast en dit komt er nu 

Citaat:
De objectverwijzing is niet op een exemplaar van een object ingesteld.


geen warning of error maar een runtime error tijdens het afspelen van het programma
Offline ArComAr - 05/02/2008 18:17 (laatste wijziging 05/02/2008 18:19)
Avatar van ArComAr VB.NET gevorderde Ik laat je er maar een zelf achter zoeken ook. Iets dat je zelf vind, zal je minder snel vergeten.

kan gebeuren. wrs is er dan ergens iets dat je niet initialiseert voor je het gebruikt.
Offline kickasgamer - 05/02/2008 18:20
Avatar van kickasgamer PHP ver gevorderde maar ik heb enkel dat clear stukje toegevoegt, maar daar kan het ook niet aan liggen want dat lijkt me correct
Offline ArComAr - 05/02/2008 18:21 (laatste wijziging 05/02/2008 18:22)
Avatar van ArComAr VB.NET gevorderde post je code dan eens.

hoogstwaarschijnlijk plaats je dat stukje code voor je een createGraphics hebt gedaan (in u geval)
Offline kickasgamer - 05/02/2008 18:24
Avatar van kickasgamer PHP ver gevorderde ja omdat ik eeen leeg venster wil voordat de nieuwe image komt

Plaatscode: 5417
Offline ArComAr - 05/02/2008 18:31 (laatste wijziging 05/02/2008 18:34)
Avatar van ArComAr VB.NET gevorderde maar je kan tekenen dus niet gebruiken voor hij de graphics heeft gekregen van de picturebox. dus je moet dat na je declaratie zetten. Je kan nooit iets gebruiken dat niet gedeclareert is.

Nu kvind u code ook niet logisch op sommige plaatsen. je plaats tekenen wel als een form variabele, maar je gaat in elke sub welk opnieuw de createGraphics uitvoeren (terwijl dit maar 1 keer nodig is als je een form variabele gebruikt).

plaats die tekenen.createGraphics als eens in de formload van je form. en doe die dan eens weg uit al je andere subs. dan zal je dat probleem ook al niet meer tegenkomen.
Offline kickasgamer - 05/02/2008 18:34
Avatar van kickasgamer PHP ver gevorderde ik dahct dat het zo werkte he, er wordt iets getekent in de picturebox als j dan op de 2de button klikt dan doet ie de tekening weg (want dan bestaat tekenen al) en dan kan er op een leeg scherm worden verder getekend
Offline ArComAr - 05/02/2008 18:36
Avatar van ArComAr VB.NET gevorderde ja tuurlijk, maar je tekenen heeft nog geen waarde, dus kan je niet tekenen (en ook niet clearen) want hij weet niet wat hij moet clearen.

en kijk men vorige post ook nog eens. is nog wat aangepast.
Offline kickasgamer - 05/02/2008 18:56
Avatar van kickasgamer PHP ver gevorderde ok, nu heb ik dat maar er staat wel dat tekenen niet gedeclared is 

Plaatscode: 5418
Offline ArComAr - 05/02/2008 19:01
Avatar van ArComAr VB.NET gevorderde die dim tekenen as graphics moest je wel bovenaan laten staan. enkel de creategraphics moesten in de form_load komen.

en dan moet je nog de lijnen met:
tekenen = PictureBox1.CreateGraphics

uit al de andere subs halen.
Offline kickasgamer - 05/02/2008 19:19
Avatar van kickasgamer PHP ver gevorderde merci het werkt 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.185s