Jak používat dialogové okno Otevřít soubor v aplikacích C#

Jak Pouzivat Dialogove Okno Otevrit Soubor V Aplikacich C



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é spustí 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í „using“, abychom zajistili, že bude po provedení operace správně 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 pouze vybrat obrazové soubory, můžeme implementovat funkci souborového filtru pro obrazové soubory nastavením vlastnosti „Filtr“ 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í okna se zprávou 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:


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. Naučili jste se také funkce, jako je filtrování konkrétních souborů atd.