Otwieranie folderu umieszczonego w katalogu projektu

Dział z pytaniami o absolutne podstawy programowania w C# (dla początkujących).

Moderator: xxSlayeRxx

Otwieranie folderu umieszczonego w katalogu projektu

Sponsor

Sponsor
 

Otwieranie folderu umieszczonego w katalogu projektu

Postprzez Lski » Śr cze 03, 2015 5:55 pm

Witam,
Jest to mój pierwszy wpis na forum. Dziękuję za przyjęcie do grona forumowiczów i przepraszam za, z pewnością skrajnie banalne pytanie, sięgające absolutnych podstaw.
Mam za sobą pierwszy kurs microsoft " C# fundamentals for absolute beginners", i zacząłem "Programing in C# jump start". Nie potrafię jednak zaprogramować, wydawałoby się podstawowego działania dającego dostęp do folderu.
Tworzę prostą przeglądarkę bitmap, która domyślnie ma pozwalać na otwieranie tylko i wyłącznie bitmap dostępnych w folderze umieszczonym wewnątrz katalogu projektu.
Po kilku godzinach szukania odpowiedzi w sieci nie udało mi się znaleźć informacji jak wykorzystać OpenFileDialog w sposób pozwalający na bezpośredni dostęp do wybranego folderu.
Proszę o przykładowy kod.

Z góry serdecznie dziękuję za pomoc.

Pozdrawiam,
Dariusz Liszewski
Lski
New member
 
Posty: 7
Dołączył(a): So maja 09, 2015 9:55 pm

Re: Otwieranie folderu umieszczonego w katalogu projektu

Postprzez xxSlayeRxx » Śr cze 03, 2015 7:36 pm

do wskazania folderu masz osobny dialog, cos w stylu folderbrowsedialog...

open file dialog jak sama nazwa wskazuje jest do otwierania plikow
xxSlayeRxx
Member
 
Posty: 661
Dołączył(a): Pt lip 08, 2011 10:24 pm

Re: Otwieranie folderu umieszczonego w katalogu projektu

Postprzez Lski » Śr cze 03, 2015 8:58 pm

Dziękuję za odpowiedź.
Oczywiście walczyłem z FolderBrowserDialog, ale jedyne co udało mi się uzyskać bez generowania błędu przez debugger to otwieranie okna eksploratora w folderze "Moje dokumenty"
Kod: Zaznacz cały
        private void button1_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog fbd = new FolderBrowserDialog();
            fbd.RootFolder = Environment.SpecialFolder.MyDocuments;
            if (fbd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                MessageBox.Show(fbd.SelectedPath);
        }

a moim celem jest otworzenie folderu "Bitmaps", który znajduje się w tej samej lokalizacji co plik .exe.
Chodzi o odpowiednik rozwiązania, które bez problemu działa w przypadku aplikacji konsolowej i wykorzystania StreamReader:
Kod: Zaznacz cały
static void Main(string[] args)
        {
            try
            {
                StreamReader myReader = new StreamReader("tekst\\Values.txt");
                string line = "";
                while (line != null)
                {
                    line = myReader.ReadLine();
                    if (line != null)
                        Console.WriteLine(line);
                }
                myReader.Close();
            }
            catch
            {
                Console.WriteLine("Coś poszło nie tak z dostępem do pliku");
            }
            Console.ReadLine();
        }


Proszę o pomoc.

Pozdrawiam,
Dariusz Liszewski
Lski
New member
 
Posty: 7
Dołączył(a): So maja 09, 2015 9:55 pm

Re: Otwieranie folderu umieszczonego w katalogu projektu

Postprzez xxSlayeRxx » Cz cze 04, 2015 8:53 pm

xxSlayeRxx
Member
 
Posty: 661
Dołączył(a): Pt lip 08, 2011 10:24 pm

Re: Otwieranie folderu umieszczonego w katalogu projektu

Postprzez Lski » Cz cze 04, 2015 11:44 pm

Serdeczne dzięki.
Dokładnie o to mi chodziło. Tak bardzo zafiksowałem się na "FolderBrowserDialog" że nie potrafiłem spojrzeć na problem z innej strony.

Dla podobnie zielonych jak ja, szukających w przyszłości odpowiedzi na wyżej postawione pytanie, zamieszczam kod programu, który podczas uruchomienia pobiera informację o plikach (w tym przypadku .png) znajdujących się w lokalnym folderze, tworzy listę w listBox i, po kliknięciu na nazwę pliku, wyświetla go w pictureBox.
Folder "Bitmaps" znajduje się w "Solution" projektu - aby dołączyć folder z plikami do testu, należy w Solution Explorer kliknąć prawym przyciskiem myszy nazwę projektu -> Add -> New Folder i następnie, aby dodać pliki, wskazać prawym przyciskiem myszy utworzony folder -> Add -> Existing Item; zaznaczyć dodany plik i dla każdego dodanego pliku, w File Properties, wybrać opcję: Copy to Output Directory -> Copy always lub Copy if newer.

Kod: Zaznacz cały
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;

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

            DirectoryInfo dInfo = new DirectoryInfo(@"Bitmaps");
            FileInfo[] Files = dInfo.GetFiles("*.png");

            foreach(FileInfo file in Files)
            {
                listBox1.Items.Add(file.Name);
                Path.GetDirectoryName(file.Name);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
          // Do oprogramowania
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string file = listBox1.SelectedItem.ToString();
            string fullFileName = Path.Combine(@"Bitmaps", file);
            pictureBox1.Image = new Bitmap(fullFileName);
        }
    }
}


Pozdrawiam,
Dariusz Liszewski
Lski
New member
 
Posty: 7
Dołączył(a): So maja 09, 2015 9:55 pm

Re: Otwieranie folderu umieszczonego w katalogu projektu

Sponsors

Sponsor
 


Powrót do Newbie

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości