xAcroPDF1.src - bezpośrednia ścieżka do pliku

0

Witam,
jestem początkującym programistą, potrzebuję napisać program do otwierania plików pdf po naciśnięciu przysicku. Kod wygląda tak:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnOpen_Click(object sender, EventArgs e)
        {
            using (OpenFileDialog ofd = new OpenFileDialog() { ValidateNames = true, Multiselect = false, Filter = "PDF|*.pdf" })
            {
                if (ofd.ShowDialog()==DialogResult.OK)
                {
                   xAcroPDF1.src = ofd.FileName;
                }
            }
        }
    }
}

idea jest taka, aby po naciśnięciu przycisku pokazał się konkretny plik. Teraz otwiera się okno dokumentów, chciałem prosić o wsparcie.

Optymalnie było by ok, gdyby sam przycisk był umieszczony na obrazku i po kliknięciu otwierał konkretny plik pdf

0

Więc zamiast całego tego kodu, który masz w obsłudze przycisku możesz zrobić:

xAcroPDF1.src = @"E:\MojPlik.pdf";

(używając @ przed łańcuchem znaków nie musisz przejmować się znakami ucieczki, stąd jest fajny właśnie do ścieżek)

0

tak;?

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp6
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            xAcroPDF1.src = "C:\\Users\tmysz\OneDrive\Dokumenty\Butle.pdf";
        }
    }
}
0

Nie.

Albo:

xAcroPDF1.src = "C:\\Users\\tmysz\\OneDrive\\Dokumenty\\Butle.pdf";

(wszystkie \ zamienione na \)

albo:

xAcroPDF1.src = @"C:\Users\tmysz\OneDrive\Dokumenty\Butle.pdf";

(nie zamienione żadne , ale znak @ przed łańcuchem)

0

dzięki działa tylko przed x powinno być jeszcze a

axAcroPDF1.src = "C:\Users\tmysz\OneDrive\Dokumenty\Butle.pdf";

0

Super dziękuje za pomoc,
mam prośbę chciałbym aby sam program był umieszczony w katalogu powiedzmy [1]. Pliki natomiast, które miały by być czytane w pdf były by w katalogach [1\pdf] lub [1\IBP\pdf], jak napisać ścieżkę względną np. tak:

…\1\pdf\Butle.pdf

proszę o pomoc

1

po prostu napisz ta sciezke

jezeli bedziesz probowac sie odwolac do pliku tak po prostu powiedzmy

xAcroPDF1.src = "Butle.pdf";

to powininen szukac pliku tam, gdzie program sie uruchamia (wiec albo w folderze debug albo w folderze release)

Wiec wystarczy, ze masz odpowiednia strukture w solution explorer + kopiujesz pliki (property na pliku). VS sam przekopiuje cala strukture plikow i bedziesz mogl sie bezwzglednie odwolywac.

Jezeli to nie dziala (imo powinno, ale roznie czasami bywa). Mozesz uzyc
https://docs.microsoft.com/en-us/dotnet/api/system.io.directory.getcurrentdirectory?view=netframework-4.8

wtedy juz masz prawie cala sciezkie tylko musisz koncowke dodac

1 użytkowników online, w tym zalogowanych: 0, gości: 1