Springen naar inhoud


- - - - -
VS 2015

Tekstboxen Benoemen

VS2015

  • Log in a.u.b. om te beantwoorden
Er zijn 9 reacties in dit onderwerp

#1 Rock

Rock

    Starting Developer

  • Leden
  • 10 berichten
    Laatst bezocht 15 sep 2020 08:45
  • LocatieVlaanderen

Geplaatst op 10 juni 2020 - 09:28

Hallo, ik ben een absolute leek in het programeren maar wil toch het een en ander proberen.  Mijn probleem : ik heb op een formulier, 5 tekstboxen geplaatst met de naam txtdoos1, txtdoos2, enz tem 5.  Van al deze tekstboxen het ik Visible=False gezet.  Nu wil ik via een programma die tekstboxen zichtbaar maken, ik heb het volgende geschreven :

dim i as integer

for i=1 to 3
txtdoos(i).visible=true
next i

dit werkt niet, als ik schrijf

txtdoos1.visible=true dan werkt dit wel, wat doe ik verkeert ?

#2 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1200 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 10 juni 2020 - 12:12

Bericht bekijkenRock, op 10 juni 2020 - 09:28, zei:

txtdoos1.visible=true dan werkt dit wel, wat doe ik verkeert ?

Visual Basic.NET heeft geen controlarrays.

Je vraag komt elke maand wel eens terug.
Bijvoorbeeld:

Textbox Loop Vb6 En Vb.net.
Meerdere Textboxen Kleur Wijzigen
Variabelen In Objectnaam
Controls Toevoegen Aan Een Form

Mijn raad: groepeer de TextBoxen die bij elkaar horen in een Panel of in een Custom Control.
Of maak een Array of List van de die TextBoxen.

#3 Rock

Rock

    Starting Developer

  • Leden
  • 10 berichten
    Laatst bezocht 15 sep 2020 08:45
  • LocatieVlaanderen

Geplaatst op 11 juni 2020 - 11:12

beste Dirk,

bedankt voor je hulp maar ik kom er niet uit, zoals ik reeds zei ben ik een leek in vb.  ik heb het volgende gedaan :

for i = 1 to 10
me.controls("txtdoos" & i).visible = true
me.controls("txtdoos" & i).tekst = Cstr(i)
next i

ik krijg geen foutmelding maar op mijn form zie ik  enkel de eerste tekstbox met daarin de laatste i (10 dus)

#4 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1200 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 13 juni 2020 - 16:05

Bericht bekijkenRock, op 11 juni 2020 - 11:12, zei:


for i = 1 to 10
    me.controls("txtdoos" & i).visible = true
    me.controls("txtdoos" & i).tekst = Cstr(i)
next i


Deze code zou moeten werken (in de veronderstelling dat je de namen juist hebt).
Is het mogelijk dat je TextBoxen gewoon bovenop elkaar staan?

#5 Rock

Rock

    Starting Developer

  • Leden
  • 10 berichten
    Laatst bezocht 15 sep 2020 08:45
  • LocatieVlaanderen

Geplaatst op 14 juni 2020 - 08:19

Hallo,

in totaal staan er 72 tekstboxen op mijn form, 6 rijen van 12 identieke kleine tekstboxen ze hebben allemaal dezelfde instellingen behalve de locatie uiteraard.
het programma is bedoeld om automatisch plaatsnummers toe te kennen aan het aantal deelnemers van een wedstrijd.  Het bepalen van het aantal deelnemers is geen probleem, dit kan gaan tot maximum 72 maar zal nooit zoveel zijn.

#6 Rock

Rock

    Starting Developer

  • Leden
  • 10 berichten
    Laatst bezocht 15 sep 2020 08:45
  • LocatieVlaanderen

Geplaatst op 17 juni 2020 - 16:04

Beste,

for i = 1 to 10


me.controls("txtdoos" & i).visible = true


me.controls("txtdoos" & i).tekst = Cstr(i)


next i


dit werkt idd maar slechts de eerste keer; als ik het een tweede keer probeer krijg ik de foutmelding "NullReferenceExeption was unhandled", leek zijnde heb ik geen flauw vermoeden hoe dit op te lossen, wie kan helpen ?


bij voorbaat dank



#7 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1200 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 18 juni 2020 - 09:25

Bericht bekijkenRock, op 17 juni 2020 - 16:04, zei:

Beste,

for i = 1 to 10


me.controls("txtdoos" & i).visible = true


me.controls("txtdoos" & i).tekst = Cstr(i)


next i


dit werkt idd maar slechts de eerste keer; als ik het een tweede keer probeer krijg ik de foutmelding "NullReferenceExeption was unhandled", leek zijnde heb ik geen flauw vermoeden hoe dit op te lossen, wie kan helpen ?


bij voorbaat dank



Nogmaals, deze code werkt correct als de controls txtdoos1, txtdoos2,... txtdoos10 bestaan in de control/form waar Me naar refereert, dat is.
Het is hoe dan ook altijd al een wakke constructie: zoeken op de naam van een control is altijd een potentiële bug in je code.

Zonder meer context kan ik je dan ook niet helpen.
Je zou misschien je project kunnen opladen in een zip, of op een andere manier meer context leveren.

#8 Rock

Rock

    Starting Developer

  • Leden
  • 10 berichten
    Laatst bezocht 15 sep 2020 08:45
  • LocatieVlaanderen

Geplaatst op 19 juni 2020 - 07:33

nogmaals bedankt Guru Developer,  ik heb alles nog eens goed overlopen en hier en daar een kleine aanpassing moeten doen (oa een typefout bij de benaming van een txtbox), nu werkt alles zoals het zou moeten.  Ik kan voorlopig niets doorsturen want dit is slechts een klein deeltje van wat ooit een relatief groot programma moet worden (voor mij althans) om te gebruiken bij wedstrijden; zowel voor de plaatsloting, opmaken van uitslagen en uiteindelijk ook het eindklassement.  Ik vrees dat ik in de toekomst nog af en toe om raad zal vragen.

mvg

#9 Damic

Damic

    Master Developer

  • Leden
  • PipPipPipPipPip
  • 770 berichten
    Laatst bezocht 13 sep 2020 11:01
  • LocatieMechelen (BE)

Geplaatst op 19 juni 2020 - 23:18

Rock het is Dirk, guru is de titel die hij draagt door het grote aantal posts dat hij heeft gemaakt. Jij bent Starting Dev en ik ben master dev.

#10 Rock

Rock

    Starting Developer

  • Leden
  • 10 berichten
    Laatst bezocht 15 sep 2020 08:45
  • LocatieVlaanderen

Geplaatst op 20 juni 2020 - 06:49

Bedankt Damic voor de toelichting





Ook met taq VS 2015, VS2015 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[VS 2015] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)