Det kan vara mycket fördelaktigt att återskapa vanliga appar när du lär dig om Windows Forms. Om du gör det kan du också stärka din grundläggande förståelse för programmering. Ett exempel på en app du kan bygga är en grundläggande filhanterare.

Filhanterarens app bör bestå av snabblänkar till vanliga Windows-mappar (Skrivbord, Mina dokument, Bilder, Musik och Videor). Den bör också ha förmågan att navigera upp och ner i kataloger.

Hur man lägger till UI-element på arbetsytan

Först, skapa en ny Windows Form-applikation i Visual Studio. När du är klar kan du börja lägga till UI-element för filhanteraren på arbetsytan.

  1. Med duken öppen, sök efter en Knapp UI-element med verktygslådan.
  2. Dra och släpp fem knappar för att representera snabblänkarna som är tillgängliga på en Windows-dator. Dessa kommer att representera mapparna Skrivbord, Mina dokument, Bilder, Musik och Videor.
  3. Markera varje knapp i tur och ordning och navigera till Egenskapsfönster. Ändra varje knapp Namn egendom och Text Egenskap
    instagram viewer
    till följande värden:
    Knapp Namn egendom Text Egenskap
    1 button_Desktop Skrivbord
    2 button_Documents Mina dokument
    3 button_Pictures Bilder
    4 knapp_Musik musik
    5 button_Videos videoklipp
  4. Sök efter en FlowLayoutPanel UI-element med verktygslådan.
  5. Dra och släpp den på duken och placera den bredvid snabblänkarna. Det är här du kommer att visa dina filer och kataloger baserat på den katalog du för närvarande visar.
  6. Markera panelen och ändra namn egenskapen till "panel_FilesList".

Hur man får den aktuella filsökvägen

När du klickar på en knapp (till exempel Desktop) ska listan över mappar och filer som finns på skrivbordet visas i panelen. För att göra detta kan du få sökvägen till mappen du har klickat på, det vill säga "C:\Users\User\Desktop".

Skriv logiken för detta i koden bakom C#-filen för formuläret. Om du inte är bekant med C#-klasser kan du lära dig mer om klasser i C#.

  1. Dubbelklicka på var och en av knapparna i användargränssnittet. Detta genererar klickhändelsefunktioner för varje knapp i C#-filen för formuläret. Dessa funktioner kommer att köras när du klickar på den associerade knappen.
    privattomhetbutton_Desktop_Click(objektavsändare, EventArgs e)
    {
    }

    privattomhetbutton_Documents_Click(objektavsändare, EventArgs e)
    {
    }

    privattomhetbutton_Pictures_Click(objektavsändare, EventArgs e)
    {
    }

    privattomhetbutton_Music_Click(objektavsändare, EventArgs e)
    {
    }

    privattomhetbutton_Videos_Click(objektavsändare, EventArgs e)
    {
    }

  2. För att få sökvägen till en speciell Windows-katalog som skrivbordet, använd Miljö. GetFolderPath() metod. Detta kommer att returnera en sträng av filsökvägen för mappen, till exempel "C:\Users\User\Desktop". Lägg till detta till varje funktion och skicka filsökvägsvärdet till en annan funktion som kallas DisplayFiles(), som du kommer att skapa senare.
    offentlig Form1()
    {
    InitializeComponent();
    Visa filer(Miljö.GetFolderPath(Miljö.SpecialFolder.Skrivbord));
    }

    privattomhetbutton_Desktop_Click(objektavsändare, EventArgs e)
    {
    Visa filer(Miljö.GetFolderPath(Miljö.SpecialFolder.Skrivbord));
    }

    privattomhetbutton_Documents_Click(objektavsändare, EventArgs e)
    {
    Visa filer(Miljö.GetFolderPath(Miljö.SpecialFolder.Mina dokument));
    }

    privattomhetbutton_Pictures_Click(objektavsändare, EventArgs e)
    {
    Visa filer(Miljö.GetFolderPath(Miljö.SpecialFolder.Mina bilder));
    }

    privattomhetbutton_Music_Click(objektavsändare, EventArgs e)
    {
    Visa filer(Miljö.GetFolderPath(Miljö.SpecialFolder.Min musik));
    }

    privattomhetbutton_Videos_Click(objektavsändare, EventArgs e)
    {
    Visa filer(Miljö.GetFolderPath(Miljö.SpecialFolder.MyVideos));
    }

Hur man renderar filerna för den valda katalogen

Visa en lista med filer beroende på knappen Skrivbord, Mina dokument, Bilder, Musik eller Videor du klickar på.

  1. Importera systemet. IO-namnutrymme överst i filen.
    använder sig avSystemet.IO;
  2. Skapa en ny funktion som heter DisplayFiles(), för att visa filerna och mapparna i en vald katalog.
    privattomhetVisa filer(sträng filsökväg)
    {
    // Kod för att visa filerna och mapparna i katalogen
    }
  3. Inuti det nya DisplayFiles() funktionen, kompilera en lista över alla kataloger och filer som finns i den valda mappen.
    string[] filesList = Katalog. GetDirectories (filPath).Concat (Directory. GetFiles (filPath)).ToArray();
  4. Se till att panelen som visar listan över filer och kataloger är tom.
    panel_FilesList.Kontroller.Klar();
  5. Lagra den aktuella katalogen i en global variabel.
    currentLocation = filsökväg;
  6. Deklarera den globala variabeln högst upp i klassen.
    stringcurrentLocation = "";
  7. Tillbaka i DisplayFiles() skapa en knapp för varje katalog och fil. I en for-loop, isolera namnet från resten av filsökvägen. Skapa programmatiskt en ny knapp, med namnet på filen eller katalogen som knappens text.
    för (int jag = 0; i < fillista. Längd-1; i++)
    {
    bool isHidden = ((File. GetAttributes (filesList[i]) & Filattribut. Hidden) == FileAttributes. Dold);

    om (!isDold)
    {
    // Hämta namnet på filen från sökvägen
    var startOfName = filesList[i].LastIndexOf("\\");
    var filnamn = fileList[i].Substring (startOfName + 1, fileList[i].Length - (startOfName + 1));

    // Visa filen eller mappen som en knapp
    Knapp nyKnapp = ny Knapp();
    nyknapp. Text = filnamn;
    nyknapp. Namn = fillista[i];
    nyknapp. Plats = ny Punkt(70, 70);
    nyknapp. Storlek = ny Storlek(800, 100);
    nyknapp. TextAlign = ContentAlignment. Mellanvänster;
    nyknapp. Vaddering = ny Stoppning(24, 0, 0, 0);
    panel_FilesList.Kontroller.Lägg till(nyknapp);
    }
    }

  8. Tryck på uppspelningsknappen högst upp i Visual Studio för att köra programmet.
  9. Klicka på någon av snabblänkarna. Till exempel om du klickar på Mina dokument, Panelen till höger bör fyllas med en lista över filer och mappar i Mina dokument mapp.
  10. Om du klickar på en annan snabblänk, t.ex. videoklipp, ska panelen rensa och ändra för att visa filer och mappar i videoklipp mapp.

Hur man navigerar upp och ner i kataloger

Ändra koden så att när du klickar på en mapp som visas i listan flyttas du ner i en katalog. Du kan också skapa en bakåtknapp för att gå tillbaka till föregående mapp.

  1. För att flytta ner i en katalog, skapa en ny funktion som heter button_Click_Open(). Om användaren klickar på en katalog i listan kommer programmet att anropa DisplayFiles() funktion för att visa filerna i den katalogen. Om användaren istället klickar på en fil kommer programmet att öppna filen.
    privattomhetbutton_Click_Open(objektavsändare, EventArgs e)
    {
    Knappknapp = (Knapp) avsändare;
    string filePath = knapp. Namn;

    Prova
    {
    // Om en katalog klickade, ladda om listan med filer i en ny katalog
    DisplayFiles (filPath);
    }
    fånga (Undantag ex)
    {
    // Om filen klickas, öppna filen
    var process = ny Systemet. Diagnostik. Bearbeta();
    bearbeta. StartInfo = ny Systemet. Diagnostik. ProcessStartInfo() { UseShellExecute = Sann, Filnamn = filsökväg };
    bearbeta.Start();
    }
    }

  2. I den DisplayFiles() funktion, ändra den del av koden som skapar en ny knapp. Lägg till en ny rad efter att du skapat knappen för att bifoga den nya button_Click_Open() funktion till klickhändelsen.
    nyknapp. Klicka på += button_Click_Open;
  3. För att navigera tillbaka upp i en katalog, skapa en tillbaka knapp. På duken, klicka och dra en ny knapp med hjälp av verktygslådan.
  4. Markera det nya Tillbaka knapp. I egenskapsfönstret ändrar du Textegenskap till "< Tillbaka".
  5. Dubbelklicka på Tillbaka knappen för att generera en klickhändelsefunktion som utlöses när användaren klickar på bakåtknappen.
    privattomhetback_Click(objektavsändare, EventArgs e)
    {
    }
  6. Inuti funktionen, hitta filsökvägen till mappen en nivå ovanför, och visa filerna och katalogerna för mappen ovan.
    var föregående mapp = detta.nuvarande position. Delsträng(0, detta.nuvarande position. LastIndexOf("\\"));
    DisplayFiles (föregående mapp);
  7. Tryck på uppspelningsknappen igen högst upp i Visual Studio för att köra programmet. Klicka på någon av snabblänkarna igen för att visa en lista med mappar eller filer.
  8. Inuti panelen klickar du på en mapp för att flytta ner i en katalog.
  9. Klicka på bakåtknappen för att gå tillbaka till föregående katalog.

Skapa skrivbordsappar med Windows Forms

En filhanterare är en enkel app som du kan bygga när du lär dig att skapa en Windows Form-applikation. Du kan använda verktygslådan för att dra och släppa en panel på duken, tillsammans med olika andra knappar.

Nu när din app har huvudfunktionaliteten får du gärna ändra knappegenskaperna för att förbättra filhanterarens design.

Upptäck några av de andra nybörjarappar som du kan skapa när du lär dig om Windows Forms-applikationer.