Jak smazat soubor načtený do picturebox   zodpovězená otázka

VB.NET

Dobrý den,

mám jednu, asi hloupou otázku, jak smažu soubor, který jsem předtím nahrál do picturebox

PictureBox1.Image = Image.FromFile(cesta)

... nějaké úkony ....

PictureBox1.Image = Nothing

My.Computer.FileSystem.DeleteFile(cesta)

a toto my nahlásí, že se souborem se pracuje a nelze ho smazat.

Prosím o radu, jak ten soubor zavřít.

Děkuji

Přemek

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud skutečně na souboru nevisí nic jiného (dá se jednoduše ověřit), potom stačí přidat:

PictureBox1.Image.Dispose()
PictureBox1.Image = Nothing
nahlásit spamnahlásit spam 0 odpovědětodpovědět

děkuji vyzkouším

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud použijete metodu Image.FromFile, zůstává soubor uzamčený až do okamžiku, kdy na vytvořeném objektu Image nezavoláte metodu Dispose (kterou by jsme mohl volat před PictureBox1.Image = Nothing).

Pokud ale s daným souborem pak už nic neprovádíte, jen ho chcete "jednorázově" použít pro načtení obrázku, pak je úplně zbytečné držet soubor s obrázkem zamčený po celou dobu, kdy se uživatel na PictureBox pouze "dívá". Pak můžete obrázek načíst například takto:

using (var fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.Read))
{
    PictureBox1.Image = Image.FromStream(fs);
}
nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback