[VB.net] Form updaten na OK Klikken

Pagina: 1
Acties:

  • jvaneijk
  • Registratie: Mei 2003
  • Laatst online: 11-03 09:53
Ik heb een Hoofdformulier met een Menu, In dat menu heb ik een Item genaamd Nieuw spel. Als ik hier op klik komt er een nieuw formulier tevoorschijn, waarop de gebruiker 4 namen kan invullen. met 2 knoppen een OK en Cancel knop. Als er op de OK knop gedrukt worden de 4 namen uit de tekstvakken naar een Array genaamd nwSpelerNaam() weggeschreven. Deze variabele is een Public variabele die in een module staat. Nu is het dus zo dat als ik op OK druk dan moeten de zojuist ingevoerde namen worden weergegeven in Het hoofdformulier. Maar hoe doe ik dit. Hoe kan ik als het waren de waarde van de Array naar mijn hoofdformulier schrijven als er op de OK knop wordt gedrukt op een ander formulier.

Ik hoop dat iemand een oplossing heeft. Ik heb al gezocht op Google naar Form Update bla bla bla en ook in GOT maak heb niets kunnen vinden. Zou iemand mij kunnen helpen.

iRacing Profiel


  • Surehand
  • Registratie: Februari 2003
  • Laatst online: 14-05 21:53
Zoek eens naar dialogs dialog boxes.

MSDN heeft ook nog wat info.

[ Voor 93% gewijzigd door Surehand op 01-02-2004 20:30 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Als je nieuwe form, waarop je de namen opgeeft modaal getoond wordt (ShowDialog), dan kan je met de DialogResult property van die form werken, om na te gaan of er op OK of Cancel geklikt werd.
Je zet dan nl. de DialogResult property van iedere button op de juiste waarde, en dan toon je je form als volgt:

code:
1
2
3
4
if( frmIngeven.ShowDialog() == DialogResult.OK )
{
    // Er werd op OK geklikt, updaten
}


Indien je die form niet modaal toont, dan zal je het anders moeten oplossen. Misschien kan je daarvoor dan eens deze post doornemen:
[rml]whoami in "[ VB.NET] waardes van een andere form?"[/rml]


Code is allemaal in C#, maar je kan het wel omzetten naar VB.NET

https://fgheysels.github.io/


  • jvaneijk
  • Registratie: Mei 2003
  • Laatst online: 11-03 09:53
whoami schreef op 01 februari 2004 @ 21:03:
Als je nieuwe form, waarop je de namen opgeeft modaal getoond wordt (ShowDialog), dan kan je met de DialogResult property van die form werken, om na te gaan of er op OK of Cancel geklikt werd.
Je zet dan nl. de DialogResult property van iedere button op de juiste waarde, en dan toon je je form als volgt:

code:
1
2
3
4
if( frmIngeven.ShowDialog() == DialogResult.OK )
{
    // Er werd op OK geklikt, updaten
}


Indien je die form niet modaal toont, dan zal je het anders moeten oplossen. Misschien kan je daarvoor dan eens deze post doornemen:
[rml]whoami in "[ VB.NET] waardes van een andere form?"[/rml]


Code is allemaal in C#, maar je kan het wel omzetten naar VB.NET
Zover was ik ook al zelf gekomen alleen dan zit ik met het probleem van hoe moet ik dan dat hoofdformulier updaten zodat hij die dingen die ik net ingevuld heb wegschrijft naar een Label of eigenlijk 4 verschillende labels.

iRacing Profiel


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:01

gorgi_19

Kruimeltjes zijn weer op :9

Zoek eens op het Mediator Design Pattern, zeker als je straks nog meer forms wil laten communiceren met elkaar. :)

Verder staat in de link die whoami gaf precies hoe je de waarden van 4 controls op een andere form kan benaderen en veranderen.

[ Voor 103% gewijzigd door gorgi_19 op 01-02-2004 21:28 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • jvaneijk
  • Registratie: Mei 2003
  • Laatst online: 11-03 09:53
Ik heb nog eens even gekeken maar ik kan echt geen zinnig stukje code uit dat C# halen ik was altijd al slecht in C en C++ ben ook niet voor niets overgestapt op VB.net :D Maar zou iemand mij of een vertaling kunnen geven in VB.net code of het mij kunnen uitleggen? :?

iRacing Profiel


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Er staat toch uitleg bij?

In short komt het hier op neer:
Je maakt een delegate aan op die form, die delegate verwijst naar een method op je hoofdscherm. Die method (die zich op je hoofdscherm bevind) wordt dus uitgevoerd als je op OK klikt op je subscherm.

Als je met die DialogForm aan de slag gaat:

code:
1
2
3
4
5
if( frmBlaat.ShowDialog() == DialogResult.OK )
{
    lblNaam = frmBlaat.txtNaam.Text;
    ....
}


Ik snap niet wat er niet aan te snappen valt. :?

https://fgheysels.github.io/

Pagina: 1