Werken met meerdere Forms.
Ik zal beginnen met een heel eenvoudig voorbeeld om het concept te illustreren.
Ik begin met een nieuwe Windows application die twee Forms bevat.
Form1, die automatisch zal worden weer gegeven wanneer het project wordt uitgevoerd, wanneer u op de knop drukt zal een het tweede Form worden getoond.
Ter illustratie van de communicatie van het ene naar het andere,zal Form2 ook een knop hebben, en het zal de caption van Form1 veranderen.
Maak eerst een nieuw project aan en dan 2 Forms.


Maken en weergeven van een Instance van een Form
De eerste stap is het toevoegen van code aan Form1 en weergeven van een instance van Form2.
Een voeg een knop aan Form1, waarbij het een Standaardnaam Button1 heeft.
Nu, dubbelklik op de knop om de gebeurtenisprocedure voor de Click event te maken.
Als u de code is weergegeven plaatsen we onderstaande code, deze zou een nieuwe Form openen telkens als u op de knop klikt, dit zal denkelijk niet uw gewenste resultaat tonen:
Visual Basic Code:

In plaats daarvan, zal u de code kunnen verplaatsen van de Form1 variabele naar een waarde op module niveau en vervolgens bepalen als het al in de Click event bestaat.
Vervolgens maakt u het formulier, als hij niet reeds bestaat.
Visual Basic Code:
Met de myForm variabele doen we een verwijzing naar het zojuist gemaakte form.
De belangrijkste reden voor het gebruik van deze variabele is zodat u kunt bijhouden van een enkel exemplaar van Form2, in plaats van het maken van een nieuwe en telkens op de knop klik.
Nu, laten we Formulier2 terug praten naar Form1.
Communicatie tussen twee Forms
Als u Form2 wilt laten communiceren met Form1, moet u een verwijzing naar Form1 opgeven.
Als u dit doet, zal u een two-way communication moeten maken.
De eenvoudigste manier om dit te bereiken is een public variabele (van het type Form1) toevoegen aan Form2, als dit:
Visual Basic Code:
Vervolgens kunnen we onze code aanpassen met onderstaande code om de Reference met property door te geven naar de Form2.
Visual Basic Code:
Als code in Form2 toegang moet hebben in Form1, kan het nu via de myCaller variabele doen.
Een knop toevoegen aan Formulier2 en zet deze code in, zoals weer gegeven hieronder:
Visual Basic Code:
Door te klikken op de knop op Form1 zal een exemplaar van Form2 starten en vult de Form2 myCaller variabele met een verwijzing naar Form1.
Door op de knop op Form2 te drukken zal Form1 worden benaderd via de myCaller variabele (als het was ingesteld) en wijzigt de titel.

Dit was een heel eenvoudig voorbeeld van communicatie tussen meerdere formulieren.
Anchoring and Docking
De Anchor en Dock properties van een Form zijn twee afzonderlijke eigenschappen.
Anchor verwijst naar de positie die een besturings element relatief ten opzichte van de randen van het formulier heeft.
Textbox, bijvoorbeeld, dat is anchored aan de linkerrand van een formulier en blijft in dezelfde positie als het formaat van het formulier als deze wordt gewijzigd.
Docking verwijst naar de hoeveel ruimte u wilt dat het besturings element op moet nemen op het formulier.
Als u een besturings element aan de linkerkant van het Form docked, zal het zich uitstrekken naar de hoogte van de vorm, maar de breedte zal hetzelfde blijven.
Neem een blik bij enkele voorbeelden, tot de dingen ophelderen.
Anchoring
Start een nieuwe windows-project.
Twee textboxen toevoegen aan uw Form, en de multiline eigenschappen van beide op True instellen.
Verander de hoogte van de twee textboxen.
Klik op textbox1 en zoek de Anchor property in de Propertiesbox:

De standaard waarde is anchor van het besturings element naar de Top en de linkerrand van het formulier.
Klik op de drop-down box om het in te stellen:

De knop in het midden vertegenwoordigt uw besturings element.
De grote witte gebieden zijn nogal verwarrend - ze doen eigenlijk niets!
Als u de eigenschap wilt wijzigen, klik je op de kleinere grijze of witte rechthoeken tussen de grote witte rechthoek.
Klik nogmaals om deze te deselecteren.

De volgende afbeelding heeft de textbox anchored aan de rechter rand en onderrand van het formulier:

Merk op waar de cursor zich in de beelden bevind en wat er is veranderd.
Klik op de pijl op de drop down box om te bevestigen van uw keuzes.
Om te zien welk effect dit alles heeft, doet u het volgende::
• Zet de Anchor property van de textbox1 op default TOP,LEFT
• Verander de Anchor van Textbox2 naar NONE (alle smalle rechthoekjes moeten wit zijn)
• Start nu het programma en sleep de hoeken van de Form naar buiten, dit zal uw Form vegroten.
Wat u nu opvalt is dat textbox1 op zijn plaats blijft staan en dat van Textbox2 de linkerhoek veranderd.
Stop uw programma.
Wijzig de Anchor eigenschappen van de twee tekst vakken naar het geen wat u wilt.
Voer uw Form opnieuw uit en kijk wat er gebeurt.
Probeer anchoring een textbox links en rechts van het formulier. Kijk wat er gebeurt.
Docking
Docking is vergelijkbaar met Anchoring, maar dit keer vult het besturings element een bepaald gedeelte van het formulier.
Om te zien hoe het werkt, klik op een van uw tekst vakken en zoek de Dock-eigenschap.
Klik op de pijl om een drop-down box te tonen:

Dit keer, zijn alle rechthoeken zoals knoppen.
U kunt alleen aan één kant op een tijd stip dokken, en de standaard instelling staan op geen.
Klik op een knop om te zien wat het doet met uw textbox.
Klikt u op de middelste en de textbox zal het hele formulier vullen.
Docking kan vrij nuttig zijn wanneer u gebruikt maakt van het besturings element voor splitter control en panels, zodat u een Windows-stijl interface kunt maken.
ToolBar
Toolbars worden vaak gezien onder menu's en zijn vol knoppen.
De knoppen die worden weer gegeven kan op vele manieren worden weer gegeven, afhankelijk van de gekozen opties.
Ze kunnen als standaard drukknoppen worden weer gegeven, wissel knoppen, keuze knoppen en die kunnen weer worden weergeven van een vervolg keuze menu en knoppen voor het weer geven van afbeeldingen.
Toolbars zijn meestal docked langs de bovenkant van de bovenliggende venster.
Zij kunnen eigenlijk gedokt worden aan elke zijde van het venster.
Toolbars kunnen knopinfo weergeven wanneer de gebruiker de muisaanwijzer op een toolbar knop aanwijst.
De toolbars laten de gebruikers toegang toestaan tot de meest gebruikte opties , die worden gegroepeerd weer gegeven afhankelijk van het besturings element dat momenteel actief is.


StatusBar
Een StatusBar wordt meestal gezien aan de onderkant van het venster en ze bieden de gebruiker met-sommige extra informatie-zoals--het nummer van de pagina dat ze aan het bewerken zijn.
U kunt ook panelen toevoegen aan de statusbalk, zodat verschillende groepen van informatie weer in verschillende delen van de balk gegeven worden.
De ShowPanels property kunt u bepalen als de ShowPanels worden getoond of niet.


Standaard word deze balk getoont als je hem plaatst net als de overige controls.
Wil je hem pas later tonen kan men hem bv. Met deze code eerst onzichtbaar maken:
Visual Basic Code:
Visual Basic Code:
Er zijn natuurlijk nog tal van mogelijkheden, maar zijn enkele voorbeelden gegeven om een indruk te krijgen.
Download pdf
Ik zal beginnen met een heel eenvoudig voorbeeld om het concept te illustreren.
Ik begin met een nieuwe Windows application die twee Forms bevat.
Form1, die automatisch zal worden weer gegeven wanneer het project wordt uitgevoerd, wanneer u op de knop drukt zal een het tweede Form worden getoond.
Ter illustratie van de communicatie van het ene naar het andere,zal Form2 ook een knop hebben, en het zal de caption van Form1 veranderen.
Maak eerst een nieuw project aan en dan 2 Forms.


Maken en weergeven van een Instance van een Form
De eerste stap is het toevoegen van code aan Form1 en weergeven van een instance van Form2.
Een voeg een knop aan Form1, waarbij het een Standaardnaam Button1 heeft.
Nu, dubbelklik op de knop om de gebeurtenisprocedure voor de Click event te maken.
Als u de code is weergegeven plaatsen we onderstaande code, deze zou een nieuwe Form openen telkens als u op de knop klikt, dit zal denkelijk niet uw gewenste resultaat tonen:
Visual Basic Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim myForm As New Form2 myForm.Show() End Sub

In plaats daarvan, zal u de code kunnen verplaatsen van de Form1 variabele naar een waarde op module niveau en vervolgens bepalen als het al in de Click event bestaat.
Vervolgens maakt u het formulier, als hij niet reeds bestaat.
Visual Basic Code:
Dim myForm As Form2 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If myForm Is Nothing Then myForm = New Form2 End If myForm.Show() End Sub
Met de myForm variabele doen we een verwijzing naar het zojuist gemaakte form.
De belangrijkste reden voor het gebruik van deze variabele is zodat u kunt bijhouden van een enkel exemplaar van Form2, in plaats van het maken van een nieuwe en telkens op de knop klik.
Nu, laten we Formulier2 terug praten naar Form1.
Communicatie tussen twee Forms
Als u Form2 wilt laten communiceren met Form1, moet u een verwijzing naar Form1 opgeven.
Als u dit doet, zal u een two-way communication moeten maken.
De eenvoudigste manier om dit te bereiken is een public variabele (van het type Form1) toevoegen aan Form2, als dit:
Visual Basic Code:
Inherits System.Windows.Forms.Form Public myCaller As Form1
Vervolgens kunnen we onze code aanpassen met onderstaande code om de Reference met property door te geven naar de Form2.
Visual Basic Code:
Dim myForm As Form2 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If myForm Is Nothing Then myForm = New Form2 myForm.myCaller = Me End If myForm.Show() End Sub
Als code in Form2 toegang moet hebben in Form1, kan het nu via de myCaller variabele doen.
Een knop toevoegen aan Formulier2 en zet deze code in, zoals weer gegeven hieronder:
Visual Basic Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If Not myCaller Is Nothing Then myCaller.Text = Now.ToLongTimeString End If End Sub
Door te klikken op de knop op Form1 zal een exemplaar van Form2 starten en vult de Form2 myCaller variabele met een verwijzing naar Form1.
Door op de knop op Form2 te drukken zal Form1 worden benaderd via de myCaller variabele (als het was ingesteld) en wijzigt de titel.

Dit was een heel eenvoudig voorbeeld van communicatie tussen meerdere formulieren.
Anchoring and Docking
De Anchor en Dock properties van een Form zijn twee afzonderlijke eigenschappen.
Anchor verwijst naar de positie die een besturings element relatief ten opzichte van de randen van het formulier heeft.
Textbox, bijvoorbeeld, dat is anchored aan de linkerrand van een formulier en blijft in dezelfde positie als het formaat van het formulier als deze wordt gewijzigd.
Docking verwijst naar de hoeveel ruimte u wilt dat het besturings element op moet nemen op het formulier.
Als u een besturings element aan de linkerkant van het Form docked, zal het zich uitstrekken naar de hoogte van de vorm, maar de breedte zal hetzelfde blijven.
Neem een blik bij enkele voorbeelden, tot de dingen ophelderen.
Anchoring
Start een nieuwe windows-project.
Twee textboxen toevoegen aan uw Form, en de multiline eigenschappen van beide op True instellen.
Verander de hoogte van de twee textboxen.
Klik op textbox1 en zoek de Anchor property in de Propertiesbox:

De standaard waarde is anchor van het besturings element naar de Top en de linkerrand van het formulier.
Klik op de drop-down box om het in te stellen:

De knop in het midden vertegenwoordigt uw besturings element.
De grote witte gebieden zijn nogal verwarrend - ze doen eigenlijk niets!
Als u de eigenschap wilt wijzigen, klik je op de kleinere grijze of witte rechthoeken tussen de grote witte rechthoek.
Klik nogmaals om deze te deselecteren.

De volgende afbeelding heeft de textbox anchored aan de rechter rand en onderrand van het formulier:

Merk op waar de cursor zich in de beelden bevind en wat er is veranderd.
Klik op de pijl op de drop down box om te bevestigen van uw keuzes.
Om te zien welk effect dit alles heeft, doet u het volgende::
• Zet de Anchor property van de textbox1 op default TOP,LEFT
• Verander de Anchor van Textbox2 naar NONE (alle smalle rechthoekjes moeten wit zijn)
• Start nu het programma en sleep de hoeken van de Form naar buiten, dit zal uw Form vegroten.
Wat u nu opvalt is dat textbox1 op zijn plaats blijft staan en dat van Textbox2 de linkerhoek veranderd.
Stop uw programma.
Wijzig de Anchor eigenschappen van de twee tekst vakken naar het geen wat u wilt.
Voer uw Form opnieuw uit en kijk wat er gebeurt.
Probeer anchoring een textbox links en rechts van het formulier. Kijk wat er gebeurt.
Docking
Docking is vergelijkbaar met Anchoring, maar dit keer vult het besturings element een bepaald gedeelte van het formulier.
Om te zien hoe het werkt, klik op een van uw tekst vakken en zoek de Dock-eigenschap.
Klik op de pijl om een drop-down box te tonen:

Dit keer, zijn alle rechthoeken zoals knoppen.
U kunt alleen aan één kant op een tijd stip dokken, en de standaard instelling staan op geen.
Klik op een knop om te zien wat het doet met uw textbox.
Klikt u op de middelste en de textbox zal het hele formulier vullen.
Docking kan vrij nuttig zijn wanneer u gebruikt maakt van het besturings element voor splitter control en panels, zodat u een Windows-stijl interface kunt maken.
ToolBar
Toolbars worden vaak gezien onder menu's en zijn vol knoppen.
De knoppen die worden weer gegeven kan op vele manieren worden weer gegeven, afhankelijk van de gekozen opties.
Ze kunnen als standaard drukknoppen worden weer gegeven, wissel knoppen, keuze knoppen en die kunnen weer worden weergeven van een vervolg keuze menu en knoppen voor het weer geven van afbeeldingen.
Toolbars zijn meestal docked langs de bovenkant van de bovenliggende venster.
Zij kunnen eigenlijk gedokt worden aan elke zijde van het venster.
Toolbars kunnen knopinfo weergeven wanneer de gebruiker de muisaanwijzer op een toolbar knop aanwijst.
De toolbars laten de gebruikers toegang toestaan tot de meest gebruikte opties , die worden gegroepeerd weer gegeven afhankelijk van het besturings element dat momenteel actief is.


StatusBar
Een StatusBar wordt meestal gezien aan de onderkant van het venster en ze bieden de gebruiker met-sommige extra informatie-zoals--het nummer van de pagina dat ze aan het bewerken zijn.
U kunt ook panelen toevoegen aan de statusbalk, zodat verschillende groepen van informatie weer in verschillende delen van de balk gegeven worden.
De ShowPanels property kunt u bepalen als de ShowPanels worden getoond of niet.


Standaard word deze balk getoont als je hem plaatst net als de overige controls.
Wil je hem pas later tonen kan men hem bv. Met deze code eerst onzichtbaar maken:
Visual Basic Code:
StatusStrip1.Visible = FalseEn later met
Visual Basic Code:
StatusStrip1.Visible = Trueom terug laten tonen.
Er zijn natuurlijk nog tal van mogelijkheden, maar zijn enkele voorbeelden gegeven om een indruk te krijgen.
Download pdf
