Avatar billede el_fredo Praktikant
10. maj 2003 - 23:56 Der er 4 kommentarer og
1 løsning

Sti til billede

Jeg har et program, der skal kunne vise et billede, når der trykkes på en knap. Alt efter hvilken knap der trykkes på, skal der vises et tilsvarende billede. Da det skal være generisk, kan jeg ikke bare lægge en bunke PictureBox'es oven i hinanden, og så bare sige "visible" til den der skal vises, men jeg ønsker i stedet at loade det ønskede billede ind, vha. en i forvejen kendt sti. Jeg kan ikke finde en property der giver mig lov til at indføre en sti i form af en string, og jeg har prøvet med flg. kode:

= (""+Application.ExecutablePath+@"\Unit1b.jpg")

hvor der selvfølgeligt foran "=" står noget andet. Jeg benytter i øvrigt Visual Studio til udvikling.

Hvad kan jeg gøre, for at få fx en PictureBox ved navn "picPortrait" til at vise det billede, jeg kun har stien til...?
Avatar billede el_fredo Praktikant
11. maj 2003 - 00:30 #1
Nu har jeg gjort en smule fremskridt. Jeg kan tildele en sti vha. flg. kode:

picPortrait.BackgroundImage = Bitmap.FromFile(path+"Unit2b.jpg");

Jeg har således hardkodet "path" strengen, og benytter den her. Jeg har bøvlet lidt med "Application.ExecutablePath" og de andre properties og metoder i "Application", men der er ingen der gør det de skal. Det nærmeste er "Application.ExecutablePath" og med den er jeg nødt til at klippe en 10-12 characters fra enden, før jeg bruger stien (blandt andet .exe filens navn samt "bin\debug\"). Det er ikke helt holdbart, og slet ikke generisk. Hvad kan jeg bruge, til at få fat i stien til mit arbejdsbibliotek? Skal jeg bare smide filerne ind i "\debug" og lade det være ved det?
Avatar billede elv Nybegynder
11. maj 2003 - 11:07 #2
Der ligger et VB-eksempel på:
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=5&lngWId=10
som henter stien til programmet, samt navnet på dit program.
med en forsøgt oversættelse:
string AppPath = System.Reflection.Assembly.GetExecutingAssembly.Location();
string ExeName = Dir(AppPath);
AppPath = p.GetFullPath((Left(AppPath, (Len(AppPath) - Len(ExeName)))));
Avatar billede el_fredo Praktikant
07. juni 2003 - 09:28 #3
Jeg kan ikke helt få det til at fungere. Du har ikke et C# eksempel, vel?
Avatar billede tballe Nybegynder
07. juni 2003 - 12:39 #4
Hej

Du skal gøre som følger:

Sørge for, at button1 har en clik event.


Efterfølgende skive følgende i:
private void button1_Click(object sender, System.EventArgs e)
{

string s = @"C:\billeder\test.jpg";

Bitmap m_Image  = new Bitmap(s);
pictureBox1.Image = m_Image;

}

Hilsen Tommy
Avatar billede el_fredo Praktikant
08. juni 2003 - 00:02 #5
Ja, men problemet med det er jo, at det kun virker hvis billedet ligger nøjagtigt der hvor man har hardkodet stien... meningen var, at man vha. en kommando kunne "trække" stien ud, fra hvor programmet ligger. Det har jeg imidlertid fundet. Man bruger:

Request.PhysicalApplicationPath

og

Request.PhysicalPath

Førstnævnte returnerer arbejdsbiblioteket, mens sidstnævnte returnerer hele stien, incl. ens executable/startfil.

Tak for svaret i øvrigt. Når jeg kigger på min formulering kan jeg godt se, at du jo har svaret på mit spørgsmål. Jeg troede bare at det drejede sig om at finde arbejdsstien... det er lang tid siden jeg postede spørgsmålet...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester