Archief - c# inhoud opslaan als drw file

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

faxxR

Legacy Member
Hallo,

ik probeer een tekenapplicatie te maken en in mijn form
heb ik een panel waar ik mijn figuren teken. Nu wil ik dit
kunnen opslaan als een .drw file en later weer kunnen openen.
Ik ben niet zo goed in programmeren dus vraag ik hulp.
Ik dacht dat dit gewoon zoiets was?

SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog1.Title = "Specify Destination Filename";
saveFileDialog1.Filter = "Draw Files|*.drw";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.OverwritePrompt = true;

if (saveFileDialog1.ShowDialog() != DialogResult.Cancel)
pnlTeken.Text = saveFileDialog1.FileName;


-> Maar dit werkt dus niet, krijg me kadertje enzo maar bestand wordt niet opgeslaan.

Alvast Bedankt!

NeverwinterX

Legacy Member
Het belangrijkste deel vergeet je dan ook: het eigenlijke saven van de file. Nu maak je de dialogbox en je doet er niks mee. Je moet nog de code schrijven voor het eigenlijke wegschrijven in de stream.

Voorbeelden vind je genoeg: how to use SaveFileDialog - Google zoeken

faxxR

Legacy Member
Het is de bedoeling dat ik de inhoud van mijn panel opsla, weet iemand hoe ik dit moet doen?

Krueger

Legacy Member
Ik veronderstel dat je je figuren tekent met GDI? (teken op een graphics object dus).

Die tekeningen kan je niet rechtstreeks opslaan, je zal de object die je tekent moeten opslaan.

Hoe je dat kan doen: met Serialization (hierop googlen kan je veel leren)

faxxR

Legacy Member
Gelukt! Kdoe het nu zo :
pnlTeken.DrawToBitmap(bitMap, rec);
bitMap.Save(saveFileDialog1.FileName);

omzetten naar bitmap zodat ik die later weer kan openen.

Krueger

Legacy Member
Het nadeel is wel als je het zo doet, je je gesavede tekeningen niet meer zal kunnen bewerken. Maar als dat geen probleem is is het een goede oplossing natuurlijk.

deleenheir

Legacy Member
wellicht een kleine typo maar dit klopt niet volledig:

SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Title = "Specify Destination Filename";
saveFileDialog1.Filter = "Draw Files|*.drw";
saveFileDialog1.FilterIndex = 1;
saveFileDialog1.OverwritePrompt = true;

via using System.Xml.Serialization; kan je makkelijk objecten omzetten naar xml en vervolgens weer deserialiseren zodat je het opgeslagen object terug krijgt.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan