# Visual Basic/Basisformulier oefeningen
## Doel basisformulier

Om voorbeelden uit te proberen, is een basisformulier ontworpen. Dit ziet er als volgt uit:
Jammer genoeg is het maar een schets, want Microsoft heeft de rechten op schermafbeeldingen.
Zoals je ziet zijn er twee label, twee kleine tekstvakken, een groot tekstvak en twee knoppen.
De twee tekstvakken zijn bedoeld om eventueel invoer in te typen. De twee labels verduidelijken wat er ingevoerd moet worden. Het grote tekstvak is bedoeld om het resultaat van het programma weer te geveen. De twee knoppen worden Start om de verwerking van het programma te starten en Stop om het programma af te sluiten.
Aan de knop Start wordt het eigenlijke programma gekoppeld.
Het basisvormulier heet VBvoorbeeld. Steeds als iets uitgelegd wordt, kun je dat als volgt oefenen:
* maak een nieuwe solution aan
* neem het project VBvoorbeeld in je project
* pas het project aan zoals omschreven
* test het project en sla het eventueel op

## Maken van het basisformulier

Start Visual Studio en klik op New Project.... Selecteer Windows Forms Application. Wijzig de naam achter Name: in VBvoorbeeld en druk OK.
Je krijgt nu de designer te zien. Maak het formulier flink groot: de breedte ongeveer de helft van de beschikbare breedte en de hoogte zo groot mogelijk.
Plaats nu twee labels, drie tekstvakken en twee knoppen op het formulier, zoals op de afbeelding hierboven. Plaats de tekstvakken zo hoog mogelijk en de knoppen zo laag mogelijk, en benut de overige ruimte om het tekstvak zo groot mogelijk te maken. Maar let op: dat gaat zo maar niet. Standaard kun je de hoogte van een tekstvak niet aanpassen. Plaats daarom eerst het derde tekstvak op het formulier en wijzig onder Properties de eigenschap Multiline in True. Je kunt nu wel de hoogte aanpassen.
Wijzig nu de eigenschappen zoals hieronder aangegeven. De volgorde in de tabel komt in het formulier overeen met van boven naar beneden en van links naar rechts:
| Object | Eigenschap | Waarde |
| Label | Name | lblInvoer1 |
| | Text | Invoer1 |
| TextBox | Name | tbxInvoer1 |
| Label | Name | lblInvoer2 |
| | Text | Invoer2 |
| TextBox | Name | tbxInvoer2 |
| TextBox | Name | tbxUitvoer |
| | Readonly | True |
| Button | Name | btnStart |
| | Text | &Start |
| | Size | 100;25 |
| Button | Name | btnStop |
| | Text | S&top |
| | Size | 100;25 |
De attributen van Form1 (Name en Tekst) blijven ongewijzigd omdat deze later bij ieder gebruik aangepast moeten worden.
Let goed op dat je na het invoeren van de waarde van een eigenschap op Enter drukt, vooral bij de afmetingen.
Omdat je de afmetingen van de knoppen hebt aangepast, kan het zijn dat je de plaats op het formulier moet aanpassen zodat ze zijn uitgelijnd met het tekstvak en met elkaar. Gebruik hiervoor de hulplijnen als je de knoppen versleept.
Je ziet nu dat de twee bovenste tekstvakken wit zijn en het grote tekstvak grijs. Dat komt omdat het grote tekstvak ReadOnly is. Wat daar komt te staan kun je niet wijzen, en dat is precies de bedoeling.
De knoppen Start en Stop kun je ook bedienen met de toetscombinatie Alt+S en Alt+T.

## Het gedrag van de knop Stop

De knop Stop sluit het programma af. Deze functie kunnen we hier programmeren, omdat die altijd hetzelfde is.
Dubbelklik op de knop Stop. Je krijgt nu het code-venster te zien met de knipperende cursor op de juiste positie (Tussen de regels die beginnen met Private en End Sub. Typ nu de volgende regel in:
Deze opdracht zorgt ervoor dat het formulier en dus ook het programma gesloten worden. Me geeft aan dat de methode Close van het formulier wordt aangeroepen.
Test het programma nu uit door F5 te drukken. Het programma wordt gecompileerd en gestart. Je ziet nu je formulier. In de eerste twee tekstvakken kun je iets typen. De knop Start heeft nog geen functie, maar als je Stop aanklikt of de toetscombinatie Alt+T drukt, wordt het programma afgesloten.
Sla je project op. Dit is de basis waarmee we verder gaan.