2016-04-19 82 views
5

Nella finestra corrente che ho, ho un pulsante. Voglio poter fare clic sul pulsante e aprire un file .pdf che si trova nella cartella delle risorse di questo progetto. C'è una facile voglia di farlo?Apertura di un file .pdf in forma di finestra tramite un pulsante clic su

Gli altri metodi che ho esaminato utilizzano percorsi di file, ma i percorsi di file potrebbero non essere sempre uguali ma il file .pdf sarà sempre nella cartella delle risorse. C'è un modo per accedere a questo e aprirlo quando si fa clic sul pulsante?

Qualcosa lungo le linee di?

string filename = "instructions.pdf"; 
file.open(); 

Problema risolto con

private void Button1_Click(object sender, EventArgs e) 
{ 
    string filename = "instructions.pdf"; 
    System.Diagnostics.Process.Start(filename); 
} 

Con Instructions.pdf nella cartella/debug bin dove la program.exe è.

risposta

6

Per aprire un file con un visualizzatore di default del sistema è necessario chiamare

System.Diagnostics.Process.Start(filename); 

ma non ho capito il problema con un percorso file. Se è necessario un percorso relativo dal file .exe del programma in una cartella con risorse, è possibile aggiungere "Risorse \" o ".. \ Risorse \" (se la cartella Risorse è più in alto) al percorso file.

Oppure è possibile aggiungere il vostro pdf a un progetto come risorsa incorporata e poi, quando è necessario aprirlo, è possibile salvarlo in una certa collocazione temporale utilizzando

Path.GetTempPath() 

e aprirlo.

+0

Il mio problema con il percorso era che poteva includere 'C: \ My Documents' e se dovevo aprirlo su un altro computer, il percorso non sarebbe necessariamente lo stesso. Cercherò di risolverlo con il tuo suggerimento – Jed5931

+0

Puoi tenere il file vicino all'applicazione (nella stessa cartella) e aprirlo come "instructions.pdf" senza specificare la cartella. – Artem

0

Se si desidera aprire il file PDF utilizzando Adobe Reader o un'applicazione simile, è possibile utilizzare la funzione Process.Start.

ProcessStartInfo startInfo = new ProcessStartInfo("pathtofile; 
Process.Start(startInfo); 

Questo si comporterà quando si è fatto clic sul file nella cartella di Windows. Se non è possibile posizionare il percorso del file, è possibile copiare il file dalla risorsa in una cartella temporanea e utilizzare tale percorso.