Mitenkäs näitä exen sisäisiä tiedostoja voi oikein ottaa pictureboxiin käyttöön?
Yritin katsella tuota tutoriaali mikä täälläkin sivulla on, mutta se ei oikein näytästänyt samanlaiselta kuin vb.net 2003:ssa.
Minulla on siis tälläinen näkymä tuossa:
http://koti.mbnet.fi/~petritj/vb.jpg
Tuosta pitäisi nuo nappi.jpg ja nappi2.jpg saada imastua pictureboxeihin, vai onko tuo ihan väärin kyhätty? ;)
Onko noi laitettu ees Embedded? Content niin ne ei tule exen sisälle vaan ihan tiedostoina
Dim executingAssembly As Reflection.Assembly = Assembly.GetExecutingAssembly() executingAssembly.GetManifestResourceStream("nappi1")
muutenkin voit kattoa mitä tuolla executingAssemblyssa on
Laitoin nyt tuonne properties paikkaan molemmille kuville Embedded, kun ei näyttänyt ennestään olevan.
Mites se on kun tuon sinun lauseen tuosta copy pastesin, niin se rupes herjaamaan näistä kohista:
Dim executingAssembly As Reflection.Assembly = Assembly.GetExecutingAssembly()
executingAssembly.GetManifestResourceStream("nappi")
Sekö on tuo lause sellanen että tuo vaan laitetaan sitten näin, kun haluaa laittaa sen esim. picturebox1:een
picturebox1.image = nappi
Dim executingAssembly As Reflection.Assembly = Reflection.Assembly.GetExecutingAssembly()
tai System.Reflection
tai Imports System.Reflection
Edit:
Dim executingAssembly As Reflection.Assembly = Reflection.Assembly.GetExecutingAssembly() Dim kuva As Image = Image.FromStream(executingAssembly.GetManifestResourceStream("nappi1")) PictureBox1.Image = kuva
näin siis pitäisi toimia jos ei toimi lisää nappi1seen pääte (nappi1.jpg)
Nyt se jo melkein toimii. Editorissa ei herjaa mitään mutta sitten kun ohjelman kääntää se sanoo seuraavaa:
An unhandled exception of type 'System.ArgumentException' occurred in system.drawing.dll
Additional information: 'null' is not a valid value for 'stream'.
Tuossa oli koodina juuri tuo edellisessä viestissä ollut pätkä, koitin myös tuota System.Reflectionia tunkee Reflection.Assembly.GetExecutingAssembly() -pätkän eteen mutta se ei auttanu asiaa.
Mihin väliin se tuo Imports System.Reflection pitäisi laittaa? Sitä yritin kans tuohon Reflection.Assembly.GetExecutingAssembly() -pätkän eteen laittaa mutta siitä herjaa tuo editori.
toi palauttaa nullin eli ei vissiin löydä tota kokeilitko lisätä nappi1.jpg tai sitten nappi.jpg kuten ekassa viestissä on?
Koitin. Oiskoha tuohon touhuun jotain tutoriaali Visual Basic 2003 versioon, niin näkis missä se menee pieleen mulla.
No nyt löyty yksi ratkasu tuohon pulmaan.
Tälläsellä lauseella sain tässä tapauksessa ajettua saman asian:
PictureBox9.Image = System.Drawing.Image.FromFile("images\nappi.jpg")
Ennen oli tuossa ihan koko polku, esim. E:\Program Files\Microsoft Visual Studio .NET 2003\Visual Studio Projects\Ohjelma\nappi.jpg
Nyt sitten älysin että senhän voi tuolleensä lyhemmin laittaa, ja se myös toimii toisella koneella jos on erilainen kansiorakennu. :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.