Tot dusver hebben we gezien hoe we met C # kunnen werken om consoletoepassingen te maken. Maar in een realistisch scenario gebruikt team normaal gesproken Visual Studio en C # om Windows Forms of webgebaseerde applicaties te maken.
Een Windows Form-applicatie is een applicatie die is ontworpen om op een computer te worden uitgevoerd. Het zal niet op een webbrowser draaien, want dan wordt het een webtoepassing.
Deze tutorial zal zich concentreren op hoe we Windows-gebaseerde applicaties kunnen maken. We zullen ook enkele basisprincipes leren over het werken met de verschillende elementen van de C # Windows-applicatie.
In deze Windows-zelfstudie leert u:
- Windows Forms Basics
- Hallo wereld in Windows Forms
- Besturingselementen toevoegen aan een formulier
- Gebeurtenisafhandeling voor controles
- Tree- en PictureBox-besturing
Windows Forms Basics
Een Windows-formuliertoepassing is een applicatie die op de desktopcomputer wordt uitgevoerd. Een Windows-formuliertoepassing heeft normaal gesproken een verzameling besturingselementen zoals labels, tekstvakken, keuzelijsten, enz.
Hieronder ziet u een voorbeeld van een eenvoudige Windows-formuliertoepassing C #. Het toont een eenvoudig inlogscherm dat toegankelijk is voor de gebruiker. De gebruiker voert de vereiste inloggegevens in en klikt vervolgens op de knop Inloggen om verder te gaan.
Dus een voorbeeld van de bedieningselementen die beschikbaar zijn in de bovenstaande applicatie
- Dit is een verzameling labelbesturingselementen die normaal worden gebruikt om aangrenzende besturingselementen te beschrijven. In ons geval hebben we dus 2 tekstvakken en de labels worden gebruikt om de gebruiker te vertellen dat het ene tekstvak is voor het invoeren van de gebruikersnaam en het andere voor het wachtwoord.
- De 2 tekstvakken worden gebruikt voor de gebruikersnaam en het wachtwoord dat door de gebruiker wordt ingevoerd.
- Eindelijk hebben we de knopbediening. De knopbediening zal normaal gesproken een code hebben om een bepaalde reeks acties uit te voeren. Dus in het bovenstaande geval kunnen we de knop bijvoorbeeld een actie laten uitvoeren om de gebruikersnaam en het wachtwoord dat door de gebruiker is ingevoerd, te valideren.
C # Hallo wereld
Laten we nu eens kijken naar een voorbeeld van hoe we een eenvoudige 'hallo wereld'-applicatie in Visual Studio kunnen implementeren. Hiervoor zouden we de onderstaande stappen moeten implementeren
Stap 1) De eerste stap betreft het maken van een nieuw project in Visual Studio. Nadat u Visual Studio heeft gestart, moet u de menuoptie Nieuw-> Project kiezen.
Stap 2) De volgende stap is om het projecttype te kiezen als een Windows Forms-applicatie. Hier moeten we ook de naam en locatie van ons project vermelden.
- In het projectdialoogvenster kunnen we verschillende opties zien voor het maken van verschillende soorten projecten in Visual Studio. Klik op de Windows-optie aan de linkerkant.
- Wanneer we in de vorige stap op de Windows-opties klikken, kunnen we een optie voor Windows Forms-toepassing zien. Klik op deze optie.
- We zullen de applicatie een naam geven. In ons geval is het DemoApplication. We zullen ook een locatie bieden om onze applicatie op te slaan.
- Ten slotte klikken we op de knop 'OK' om Visual Studio ons project te laten maken.
Als de bovenstaande stappen worden gevolgd, krijgt u de onderstaande uitvoer in Visual Studio.
Uitgang: -
U ziet een Form Designer weergegeven in Visual Studio. Het is in deze Form Designer dat u begint met het bouwen van uw Windows Forms-toepassing.
In de Solution Explorer kunt u ook de DemoApplication-oplossing zien. Deze oplossing bevat de onderstaande 2 projectbestanden
- Een formuliertoepassing met de naam Forms1.cs. Dit bestand bevat alle code voor de Windows Form-toepassing.
- Het hoofdprogramma met de naam Program.cs is een standaardcodebestand dat wordt gemaakt wanneer een nieuwe toepassing wordt gemaakt in Visual Studio. Deze code bevat de opstartcode voor de applicatie als geheel.
Aan de linkerkant van Visual Studio ziet u ook een ToolBox. De toolbox bevat alle besturingselementen die kunnen worden toegevoegd aan Windows Forms. Besturingselementen zoals een tekstvak of een label zijn slechts enkele van de besturingselementen die kunnen worden toegevoegd aan Windows Forms.
Hieronder ziet u een screenshot van hoe de Toolbox eruit ziet.
Stap 3) In deze stap zullen we nu een label aan het formulier toevoegen waarop "Hallo wereld" wordt weergegeven. Vanuit de toolbox moet u het besturingselement Label kiezen en dit eenvoudigweg naar het formulier slepen.
Nadat u het label naar het formulier hebt gesleept, kunt u het label in het formulier zien ingesloten, zoals hieronder wordt weergegeven.
Stap 4) De volgende stap is om naar de eigenschappen van het besturingselement te gaan en de tekst te wijzigen in 'Hallo wereld'.
Om naar de eigenschappen van een besturingselement te gaan, moet u met de rechtermuisknop op het besturingselement klikken en de menuoptie Eigenschappen kiezen
- Het eigenschappenvenster wordt ook weergegeven in Visual Studio. Dus voor het labelcontrole, ga in het eigenschappencontrole naar het gedeelte Tekst en voer "Hallo wereld" in.
- Elk besturingselement heeft een reeks eigenschappen die het besturingselement beschrijven.
Als u alle bovenstaande stappen volgt en uw programma in Visual Studio uitvoert, krijgt u de volgende uitvoer
Uitgang: -
In de uitvoer kun je zien dat het Windows Form wordt weergegeven. U kunt ook zien dat 'Hallo wereld' op het formulier wordt weergegeven.
Besturingselementen toevoegen aan een formulier
We hadden al gezien hoe we een besturingselement aan een formulier konden toevoegen toen we het labelbesturingselement in de eerdere sectie toevoegden om "Hallo wereld" weer te geven.
Laten we eens kijken naar de andere besturingselementen die beschikbaar zijn voor Windows-formulieren en enkele van hun gemeenschappelijke eigenschappen bekijken.
In onze Windows-formuliertoepassing in C # -voorbeelden zullen we één formulier maken met de volgende functionaliteit.
- De mogelijkheid voor de gebruiker om naam en adres in te voeren.
- Een optie om de stad te kiezen waarin de gebruiker woont
- De mogelijkheid voor de gebruiker om een optie voor het geslacht in te voeren.
- Een optie om een cursus te kiezen die de gebruiker wil leren. Er zullen keuzes gemaakt worden voor zowel C # als ASP.Net
Laten we dus elk besturingselement in detail bekijken en ze toevoegen om het formulier met de bovengenoemde functionaliteit te bouwen.
Groepsvak
Een groepsvak wordt gebruikt voor het logisch groeperen van bedieningselementen in een sectie. Laten we een voorbeeld nemen als u een verzameling bedieningselementen had voor het invoeren van details zoals naam en adres van een persoon. Idealiter zijn dit gegevens van een persoon, dus u zou deze gegevens in een aparte sectie op het formulier willen hebben. Hiervoor kunt u een groepsbox hebben. Laten we kijken hoe we dit kunnen implementeren met een voorbeeld hieronder
Stap 1) De eerste stap is om het Groupbox-besturingselement vanuit de toolbox naar het Windows-formulier te slepen, zoals hieronder wordt weergegeven
Stap 2) Zodra de groupbox is toegevoegd, gaat u naar het eigenschappenvenster door op de groupbox controle te klikken. Ga in het eigenschappenvenster naar de eigenschap Text en verander deze in "User Details".
Nadat u de bovenstaande wijzigingen heeft aangebracht, ziet u de volgende uitvoer
Uitgang: -
In de uitvoer kun je duidelijk zien dat de Groupbox aan het formulier is toegevoegd. Je kunt ook zien dat de tekst van de groupbox is veranderd in "User Details".
Labelcontrole
Vervolgens komt de Label Control. Het labelbesturingselement wordt gebruikt om een tekst of een bericht aan de gebruiker op het formulier weer te geven. De labelbesturing wordt normaal gesproken samen met andere besturingselementen gebruikt. Veelvoorkomende voorbeelden zijn waarin een label wordt toegevoegd samen met het tekstvakbesturingselement.
Het label geeft de gebruiker aan wat er naar verwachting in het tekstvak moet worden ingevuld. Laten we kijken hoe we dit kunnen implementeren met een voorbeeld hieronder. We zullen 2 labels toevoegen, de ene heet 'naam' en de andere heet 'adres'. Ze zullen worden gebruikt in combinatie met de tekstvakbesturingselementen die in de latere sectie zullen worden toegevoegd.
Stap 1) De eerste stap is om het labelbesturingselement vanuit de toolbox naar het Windows-formulier te slepen, zoals hieronder wordt weergegeven. Zorg ervoor dat u de labelbesturing 2 keer sleept, zodat u er een voor de 'naam' en de andere voor het 'adres' kunt hebben.
Stap 2) Nadat het label is toegevoegd, gaat u naar het eigenschappenvenster door op de labelcontrole te klikken. Ga in het eigenschappenvenster naar de eigenschap Text van elk labelbesturingselement.
Nadat u de bovenstaande wijzigingen heeft aangebracht, ziet u de volgende uitvoer
Uitgang: -
U kunt de labelbesturingselementen zien die aan het formulier zijn toegevoegd.
Tekstvak
Een tekstvak wordt gebruikt om een gebruiker in staat te stellen tekst in de Windows-applicatie in C # in te voeren. Laten we kijken hoe we dit kunnen implementeren met een voorbeeld hieronder. We zullen 2 tekstvakken aan het formulier toevoegen, een voor de naam en de andere voor het adres dat moet worden ingevoerd voor de gebruiker
Stap 1) De eerste stap is om het tekstvak-besturingselement naar het Windows-formulier te slepen vanuit de gereedschapskist, zoals hieronder wordt weergegeven
Stap 2) Nadat de tekstvakken zijn toegevoegd, gaat u naar het eigenschappenvenster door op het tekstvak te klikken. Ga in het eigenschappenvenster naar de eigenschap Naam en voeg een betekenisvolle naam toe aan elk tekstvak. Noem het tekstvak voor de gebruiker bijvoorbeeld txtUser en dat voor het adres als txtAddress. Er moet een naamgevingsconventie en -standaard worden gemaakt voor besturingselementen omdat het gemakkelijker wordt om extra functionaliteit aan deze besturingselementen toe te voegen, wat we later zullen zien.
Nadat u de bovenstaande wijzigingen heeft aangebracht, ziet u de volgende uitvoer
Uitgang: -
In de uitvoer kun je duidelijk zien dat de tekstvakken aan het formulier zijn toegevoegd.
Keuzelijst
Een Listbox wordt gebruikt om een lijst met items op het Windows-formulier te tonen. Laten we kijken hoe we dit kunnen implementeren met een voorbeeld hieronder. We zullen een keuzelijst aan het formulier toevoegen om enkele stadslocaties op te slaan.
Stap 1) De eerste stap is om het besturingselement keuzelijst vanuit de toolbox naar het Windows-formulier te slepen, zoals hieronder wordt weergegeven
Stap 2) Nadat de keuzelijst is toegevoegd, gaat u naar het eigenschappenvenster door op de keuzelijst te klikken.
- Verander eerst de eigenschap van de Listbox box control, in ons geval hebben we dit gewijzigd in lstCity
- Klik op de eigenschap Items. Hierdoor kunt u verschillende items toevoegen die in de keuzelijst kunnen verschijnen. In ons geval hebben we items "collectie" geselecteerd.
- Voer in de String Collection Editor, die verschijnt, de plaatsnamen in. In ons geval hebben we "Mumbai", "Bangalore" en "Hyderabad" ingevoerd.
- Klik ten slotte op de knop 'OK'.
Nadat u de bovenstaande wijzigingen heeft aangebracht, ziet u de volgende uitvoer
Uitgang: -
In de uitvoer kun je zien dat de Listbox aan het formulier is toegevoegd. U kunt ook zien dat de keuzelijst is gevuld met de stadswaarden.
Radio knop
Een Radiobutton wordt gebruikt om een lijst met items te tonen waaruit de gebruiker er een kan kiezen. Laten we kijken hoe we dit kunnen implementeren met een voorbeeld hieronder. We zullen een keuzerondje toevoegen voor een mannelijke / vrouwelijke optie.
Stap 1) De eerste stap is om het besturingselement 'radiobutton' vanuit de toolbox naar het Windows-formulier te slepen, zoals hieronder wordt weergegeven.
Stap 2) Zodra de Radiobutton is toegevoegd, gaat u naar het eigenschappenvenster door op de Radiobutton-besturing te klikken.
- Eerst moet u de teksteigenschap van beide Radiobesturingen wijzigen. Ga naar het eigenschappenvenster en verander de tekst in een mannetje van de ene radioknop en de tekst van de andere in vrouwelijk.
- Wijzig op dezelfde manier de eigenschap name van beide Radiobesturingen. Ga naar het eigenschappenvenster en verander de naam in 'rdMale' van de ene radioknop en in 'rdfemale' voor de andere.
Als u de bovenstaande wijzigingen aanbrengt, ziet u de volgende uitvoer
Uitgang: -
U zult zien dat de keuzerondjes zijn toegevoegd aan het Windows-formulier.
Selectievakje
Een selectievakje wordt gebruikt om een lijst met opties te bieden waarin de gebruiker meerdere keuzes kan kiezen. Laten we kijken hoe we dit kunnen implementeren met een voorbeeld hieronder. We zullen 2 selectievakjes toevoegen aan onze Windows-formulieren. Deze selectievakjes bieden de gebruiker een optie om C # of ASP.Net te leren.
Stap 1) De eerste stap is om het selectievakje vanuit de toolbox naar het Windows Form te slepen, zoals hieronder wordt weergegeven
Stap 2) Nadat het selectievakje is toegevoegd, gaat u naar het eigenschappenvenster door op het selectievakje te klikken.
In het eigenschappenvenster,
- Eerst moet u de teksteigenschap van beide selectievakjes wijzigen. Ga naar de eigenschappenvensters en verander de tekst in C # en ASP.Net.
- Wijzig op dezelfde manier de eigenschap name van beide Radiobesturingen. Ga naar de eigenschappenvensters en verander de naam in chkC van het ene selectievakje en in chkASP voor het andere.
Nadat u de bovenstaande wijzigingen heeft aangebracht, ziet u de volgende uitvoer
Uitgang: -
Knop
Een knop wordt gebruikt om de gebruiker in staat te stellen op een knop te klikken, waarna de verwerking van het formulier wordt gestart. Laten we kijken hoe we dit kunnen implementeren met een voorbeeld hieronder. We zullen een eenvoudige knop toevoegen genaamd 'Verzenden' die zal worden gebruikt om alle informatie op het formulier in te dienen.
Stap 1) De eerste stap is om de knopbesturing vanuit de toolbox naar het Windows-formulier te slepen, zoals hieronder wordt weergegeven
Stap 2) Nadat de knop is toegevoegd, gaat u naar het eigenschappenvenster door op de knop te klikken.
- Eerst moet u de teksteigenschap van het knopbesturingselement wijzigen. Ga naar het eigenschappenvenster en verander de tekst in 'submit'.
- Wijzig op dezelfde manier de eigenschap name van het besturingselement. Ga naar het eigenschappenvenster en verander de naam in 'btnSubmit'.
Nadat u de bovenstaande wijzigingen heeft aangebracht, ziet u de volgende uitvoer
Uitgang: -
Gefeliciteerd, je hebt nu je eerste standaard Windows-formulier. Laten we nu naar het volgende onderwerp gaan om te zien hoe we Gebeurtenisafhandeling voor Controls kunnen doen.
C # Gebeurtenisafhandeling voor controles
Wanneer u met Windows-formulier werkt, kunt u gebeurtenissen aan besturingselementen toevoegen. Een gebeurtenis is iets dat gebeurt wanneer een actie wordt uitgevoerd. De meest voorkomende actie is waarschijnlijk het klikken op een knop op een formulier. In C # Windows Forms kunt u code toevoegen die kan worden gebruikt om bepaalde acties uit te voeren wanneer een knop op het formulier wordt ingedrukt.
Normaal gesproken betekent het dat er enige verwerking moet plaatsvinden als er op een knop op een formulier wordt gedrukt.
Laten we eens kijken naar een van de gebeurtenissen en hoe deze kan worden afgehandeld voordat we naar het knopgebeurtenisscenario gaan.
Het onderstaande voorbeeld toont een gebeurtenis voor het Listbox-besturingselement. Dus telkens wanneer een item is geselecteerd in de keuzelijst, zou er een berichtvenster moeten verschijnen waarin het geselecteerde item wordt weergegeven. Laten we de volgende stappen uitvoeren om dit te bereiken.
Stap 1) Dubbelklik op de Listbox in de formulierontwerper . Door dit te doen, opent Visual Studio automatisch het codebestand voor het formulier. En het voegt automatisch een gebeurtenismethode toe aan de code. Deze gebeurtenismethode wordt geactiveerd wanneer een item in de keuzelijst wordt geselecteerd.
Hierboven ziet u het codefragment dat automatisch wordt toegevoegd door Visual Studio, wanneer u dubbelklikt op het besturingselement keuzelijst op het formulier. Laten we nu het onderstaande codegedeelte aan dit codefragment toevoegen om de vereiste functionaliteit aan de listbox-gebeurtenis toe te voegen.
- Dit is de gebeurtenishandler-methode die automatisch wordt gemaakt door Visual Studio wanneer u dubbelklikt op het besturingselement List box. U hoeft zich geen zorgen te maken over de complexiteit van de naam van de methode of de parameters die aan de methode worden doorgegeven.
- Hier krijgen we het SelectedItem via de eigenschap lstCity.SelectedItem. Onthoud dat lstCity de naam is van ons Listbox-besturingselement. We gebruiken vervolgens de GetItemText-methode om de werkelijke waarde van het geselecteerde item te krijgen. We kennen deze waarde vervolgens toe aan de tekstvariabele.
- Ten slotte gebruiken we de MessageBox-methode om de waarde van de tekstvariabele aan de gebruiker weer te geven.
Als u de bovenstaande wijzigingen aanbrengt, en het programma in Visual Studio uitvoert, ziet u de volgende uitvoer
Uitgang: -
Aan de uitvoer kunt u zien dat wanneer een item uit de keuzelijst wordt geselecteerd, er een berichtvenster verschijnt. Dit toont het geselecteerde item uit de keuzelijst.
Laten we nu eens kijken naar het laatste besturingselement, namelijk de knopklikmethode. Nogmaals, dit volgt dezelfde filosofie. Dubbelklik gewoon op de knop in de Forms Designer en het zal automatisch de methode voor de knopgebeurtenishandler toevoegen. Dan hoeft u alleen de onderstaande code toe te voegen.
- Dit is de gebeurtenishandlermethode die automatisch wordt gemaakt door Visual Studio wanneer u dubbelklikt op de knopbesturing. U hoeft zich geen zorgen te maken over de complexiteit van de naam van de methode of de parameters die aan de methode worden doorgegeven.
- Hier krijgen we waarden ingevoerd in het tekstvak naam en adres. De waarden kunnen worden overgenomen uit de text-eigenschap van het tekstvak. Vervolgens wijzen we de waarden toe aan 2 variabelen, naam en adres dienovereenkomstig.
- Ten slotte gebruiken we de MessageBox-methode om de naam- en adreswaarden aan de gebruiker weer te geven.
Als u de bovenstaande wijzigingen aanbrengt, en het programma in Visual Studio uitvoert, ziet u de volgende uitvoer
Uitgang: -
- Voer eerst een waarde in het naam- en adresveld in.
- Klik vervolgens op de knop Verzenden
Zodra u op de knop Verzenden klikt, verschijnt er een berichtvenster en wordt correct weergegeven wat u hebt ingevoerd in het gedeelte met gebruikersgegevens.
Tree- en PictureBox-besturing
Er zijn nog 2 bedieningselementen die we kunnen bekijken, de ene is de 'Tree Control' en de andere is de 'Image control'. Laten we eens kijken naar voorbeelden van hoe we deze controles kunnen implementeren
Boomcontrole
- De boomstructuur wordt gebruikt om items op een boomachtige manier op te sommen. Het beste voorbeeld is waarschijnlijk wanneer we de Windows Verkenner zelf zien. De mappenstructuur in Windows Verkenner is als een boomstructuur.
Laten we kijken hoe we dit kunnen implementeren met een voorbeeld hieronder.
Stap 1) De eerste stap is om het Tree-besturingselement vanuit de toolbox naar het Windows-formulier te slepen, zoals hieronder wordt weergegeven
Stap 2) De volgende stap is om te beginnen met het toevoegen van knooppunten aan de boomverzameling, zodat deze overeenkomstig in de boom kan verschijnen. Laten we eerst de onderstaande substappen volgen om een hoofdknooppunt aan de boomverzameling toe te voegen.
- Ga naar de eigenschappen toolbox voor de structuurweergave. Klik op de eigenschap van het knooppunt. Dit zal de TreeNode Editor openen
- Klik in de TreeNode Editor op de knop Root toevoegen om een root-node aan de boomverzameling toe te voegen.
- Wijzig vervolgens de tekst van het Root-knooppunt en geef de tekst op als Root en klik op de knop 'OK'. Dit zal het rootknooppunt toevoegen.
Stap 3) De volgende stap is om te beginnen met het toevoegen van de onderliggende knooppunten aan de boomverzameling. Laten we de onderstaande substappen volgen om een onderliggende root-node aan de boomverzameling toe te voegen.
- Klik eerst op de knop Kind toevoegen. Hiermee kunt u onderliggende knooppunten aan de Tree-verzameling toevoegen.
- Wijzig voor elk onderliggende knooppunt de teksteigenschap. Blijf de vorige stap en deze stap herhalen en voeg 2 extra knooppunten toe. Uiteindelijk heb je 3 knooppunten zoals hierboven weergegeven, met de tekst respectievelijk als Label, Knop en Checkbox.
- Klik op de OK-knop
Nadat u de bovenstaande wijzigingen heeft aangebracht, ziet u de volgende uitvoer.
Uitgang: -
U kunt de boomstructuur zien die aan het formulier is toegevoegd. Wanneer u de Windows-formuliertoepassing uitvoert, kunt u het hoofdknooppunt uitvouwen en de onderliggende knooppunten in de lijst zien.
PictureBox-besturing
Dit besturingselement wordt gebruikt om afbeeldingen toe te voegen aan de Winforms C #. Laten we kijken hoe we dit kunnen implementeren met een voorbeeld hieronder.
Stap 1) De eerste stap is om het PictureBox-besturingselement vanuit de toolbox naar het C # Windows-formulier te slepen, zoals hieronder wordt weergegeven
Stap 2) De volgende stap is om daadwerkelijk een afbeelding toe te voegen aan het besturingselement picture box. Dit kan gedaan worden door de onderstaande stappen te volgen.
- Klik eerst op de eigenschap Afbeelding voor het besturingselement PictureBox. Er verschijnt een nieuw venster.
- Klik in dit venster op de knop Importeren. Dit wordt gebruikt om een afbeelding aan de picturebox-besturing toe te voegen.
- Er verschijnt een dialoogvenster waarin u de afbeelding kunt kiezen om de afbeeldingsbox toe te voegen
- Klik op de OK-knop
Als u de bovenstaande wijzigingen aanbrengt, ziet u de volgende uitvoer
Uitgang: -
Aan de uitvoer kun je zien dat er een afbeelding op het formulier wordt weergegeven.
Overzicht
- Een Windows-formulier in C # -toepassing is een formulier dat op het bureaublad van een computer wordt uitgevoerd. Visual Studio Form samen met C # kan worden gebruikt om een Windows Forms-toepassing te maken.
- Besturingselementen kunnen worden toegevoegd aan de Windows-formulieren C # via de Toolbox in Visual Studio. Besturingselementen zoals labels, selectievakjes, keuzerondjes, etc. kunnen via de toolbox aan het formulier worden toegevoegd.
- Men kan ook geavanceerde bedieningselementen gebruiken, zoals de boomstructuurweergave en de PictureBox-bediening.
- Gebeurtenishandlers worden gebruikt om te reageren op gebeurtenissen die zijn gegenereerd door besturingselementen. De meest voorkomende is degene die is toegevoegd voor de gebeurtenis waarop op de knop is geklikt.