Jak používat OpenFileDialog v C# GUI aplikacích

Jak Pouzivat Openfiledialog V C Gui Aplikacich



Vytváření grafických aplikací s C# a rámcem Windows Forms je jedním z nejlepších způsobů, jak rozšířit své dovednosti v C#. Stejně jako všechny ostatní programovací formáty nakonec zjistíte, že vytváříte aplikaci, která pracuje se soubory.

V tomto tutoriálu vám ukážeme základy práce s grafickou aplikací Windows tím, že se naučíme, jak vytvořit aplikaci, která dokáže číst soubory kliknutím na tlačítko.







Zaměříme se především na OpenFileDialog, který nám umožňuje procházet a vybírat soubory ze souborového systému. Je součástí jmenného prostoru System.Windows.Forms. Budete tedy muset mít nainstalované nástroje WFP.



Vytvoření projektu

Než budeme moci použít komponentu OpenFileDialog, musíme vytvořit projekt, který podporuje Windows Forms. Pomocí sady Visual Studio 2022 a vyšší můžete postupovat podle následujících kroků.



Spusťte Visual Studio 2022 a vyberte možnost „Vytvořit nový projekt“.






V dalším kroku vyberte šablonu projektu, kterou chcete použít. V našem případě si přejeme vytvořit aplikaci Windows Forms. Vyberte tuto šablonu.


V dalším kroku vyberte svou verzi NET a zadejte název projektu.



Přidání tlačítka

Jakmile vytvoříte projekt, Visual Studio vás přenese do editoru drag and drop, kde můžete přetáhnout komponenty, které potřebujete.

V našem případě je první věcí, kterou potřebujeme, tlačítko, které spouští OpenFileDialog. Z nabídky panelu nástrojů přetáhněte tlačítko na plátno.


Změňte vlastnost textu tlačítka na „Otevřít soubor“.

Tlačítko Klikněte na Obsluha události

V tuto chvíli tlačítko po kliknutí nedělá nic. Abychom zajistili, že tlačítko otevře OpenFileDialog, musíme přidat obsluhu události.

Dvojitým kliknutím na tlačítko nebo stisknutím klávesy F7 otevřete editor kódu.


V obslužné rutině události tlačítka přidejte následující kód pro inicializaci a otevření OpenFileDialog:

private void button1_Click ( odesílatel objektu, EventArgs e )
{
použitím ( OpenFileDialog openFileDialog = nový OpenFileDialog ( ) )
{
-li ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
MessageBox.Show ( 'Vybraný soubor:' + vybranýSoubor ) ;
}
}
}


V uvedeném příkladu začneme vytvořením instance třídy OpenFileDialog. Používáme také prohlášení „používáme“, abychom zajistili, že bude po provedení operace řádně zlikvidován, aby se zabránilo plýtvání zdroji.

Poté zkontrolujeme, zda uživatel potvrdil výběr souboru kliknutím na tlačítko „OK“.

Nakonec načteme úplnou cestu vybrané cesty a zobrazíme ji uvnitř komponenty MessageBox.

Zkuste spustit kód a uvidíte, co to udělá. V našem případě nám kód umožňuje otevřít selektor souborů na základě kliknutí na tlačítko a zobrazit cestu k vybranému souboru následovně:

Výběr konkrétních typů souborů

V závislosti na použití aplikace můžete chtít číst pouze určité soubory. Zde vstupuje do hry filtrování souborů. Předpokládejme, že chceme vybrat pouze obrazové soubory. Můžeme implementovat funkci filtrování souborů pro obrazové soubory nastavením vlastnosti „Filter“ v OpenFileDialog.

Podívejte se na následující kód:

private void button1_Click ( odesílatel objektu, EventArgs e )
{
použitím ( OpenFileDialog openFileDialog = nový OpenFileDialog ( ) )
{
openFileDialog.Filter = 'Obrázky|*.jpg,*.jpeg,*.png,*.gif,*.bmp,*.tiff,*.webp,*.heif,*.ico,*.raw' ;
-li ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
MessageBox.Show ( 'Vybraný soubor:' + vybranýSoubor ) ;
}
}
}


Jakmile spustíme kód a klikneme na tlačítko, měli bychom vidět typy souborů, které můžeme vybrat, jak je znázorněno v následujícím příkladu:

Zobrazení obsahu souboru

Chcete-li do naší aplikace přidat další funkce, můžeme obsah souboru zobrazit pomocí MessageBox takto:

private void button1_Click ( odesílatel objektu, EventArgs e )
{
použitím ( OpenFileDialog openFileDialog = nový OpenFileDialog ( ) )
{
openFileDialog.Filter = 'Textové soubory|*.txt' ;
-li ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
string selectedFile = openFileDialog.FileName;
string content = File.ReadAllText ( vybranýSoubor ) ;
MessageBox.Show ( 'Obsah souboru:' + obsah ) ;
}
}
}


V tomto případě filtrujeme textové soubory, protože jsou snadno čitelné. Po výběru souboru použijeme File.ReadAllText() a uložíme obsah souboru do proměnné.

Poté zobrazíme obsah souboru pomocí MessageBox, jak je znázorněno ve výsledné funkci souboru:

Výběr více souborů

Můžete také povolit OpenFileDialog pro čtení více souborů pomocí vlastnosti „MultiSelect“. To je užitečné, když potřebujete vybrat více souborů, jako je kopírování, přesun atd.

Funkce je následující:

private void button1_Click ( odesílatel objektu, EventArgs e )
{
použitím ( OpenFileDialog openFileDialog = nový OpenFileDialog ( ) )
{
openFileDialog.Filter = 'Textové soubory|*.txt' ;
openFileDialog.Multiselect = skutečný ;
-li ( openFileDialog.ShowDialog ( ) == DialogResult.OK )
{
pro každého ( byl soubor v openFileDialog.FileNames )
{
MessageBox.Show ( 'Vybrané soubory:' + soubor ) ;
}
}
}
}


V tomto příkladu používáme vlastnost „MultiSelect“, která nám umožňuje vybrat více textových souborů.

Poté iterujeme přes každý vybraný soubor a zobrazíme jeho cestu ve MessageBoxu.


Tady to máš!

Závěr

V tomto úžasném tutoriálu jste se naučili, jak vytvořit základní GUI aplikaci v C#, která dokáže číst soubor a zobrazovat obsah pomocí OpenFileDialog. Dozvěděli jste se také o funkcích, jako je filtrování konkrétních souborů, výběr více souborů atd.