Toon posts:

[VB6] Change() werkt alleen bij .visible en niet bij .enable

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een stuk code waarin een functie, gekoppeld aan een txtbox, zit. Wanneer er iets veranderd in de txtbox (ander getal ingevuld bijv), dan wordt de functie gedraaid, aangezien het zo omschreven is: Private Sub txtfunctie_Change()

In de functie laat ik een aantal txtboxen zien, of juist niet (hangt van de opgegeven waarde af in de bovenstaande txtbox).
Nu werkt dit deel niet goed. De eigenschap enabled kan true of false zijn, maar als deze eenmaal true is, kan ik em later niet meer false maken. Terwijl hetzelfde bij visible wel werkt. Weet iemand hoe dit komt? Ik heb al gegoogled en bij Microsoft gekeken, maar kon nog nix vinden.

For count = 0 To 29
If count < aantalmetingen Then
txtMeting(count).Enabled = True
txtMeting(count).Visible = True
txtMeting(count).BackColor = &HFFFFFF
ElseIf count >= aantalmetingen Then
txtMeting(count).Enabled = False
txtMeting(count).Visible = False
End If
Next count

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op 22 september 2004 @ 13:04:
Ik heb een stuk code waarin een functie, gekoppeld aan een txtbox, zit. Wanneer er iets veranderd in de txtbox (ander getal ingevuld bijv), dan wordt de functie gedraaid, aangezien het zo omschreven is: Private Sub txtfunctie_Change()
Hmmm, krijg je een foutmelding? Met je code an sich lijkt me niks mis, en ik zie niet waarom .visible wel zou werken en .enabled niet.

verder zou ik mijn code zo schrijven:
code:
1
2
3
4
5
For count = 0 To txtMeting.Count-1
  txtMeting(count).Enabled = count < aantalmetingen
  txtMeting(count).Visible = count < aantalmetingen
  txtMeting(count).BackColor = IIf(count < aantalmetingen,&HFFFFFF,vbWindowText)
Next count

Of, door je count<aantalmetingen te "cachen" in een bool:
code:
1
2
3
4
5
6
For count = 0 To txtMeting.Count-1
  bMyBool = count < aantalmetingen
  txtMeting(count).Enabled = bMyBool
  txtMeting(count).Visible = bMyBool
  txtMeting(count).BackColor = IIf(bMyBool,&HFFFFFF,vbWindowText)
Next count

[ Voor 71% gewijzigd door RobIII op 22-09-2004 13:11 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Ik krijg geen foutmelding, als ik eerst bijvoorbeeld 8 invul, dan laat hij 8 textboxen zien uit die array, en de rest blijft disabled. Maar als ik daarna 4 invul blijven er 8 open staan. Als ik 9 invul komt er wel eentje bij.

En bij visible (maar die wil ik dus niet gebruiken) doet hij het wel gewoon (eerst 8, daarna 4 bijv).

  • Lorn
  • Registratie: Maart 2000
  • Laatst online: 13-01-2025

Lorn

I have a bad feeling...

Dat moet toch gewoon werken hoor... stel je pakt een form met daarop alleen een textbox en een commandbutton. Op de OnClick laat je het volgende gebeuren:

Visual Basic:
1
2
3
Private Sub Command1_OnClick()
  Text1.Enabled = Not Text1.Enabled
End Sub


Dat werkt zonder enig probleem. Is er niet een ander stuk code in je applicatie die iets met de Enabled property doet?

Verwijderd

Topicstarter
mm nu doet ie het wel, ik denk dat ik weet wat ik fout deed... :D 8)7 :?
de andere textboxen werden wel gedisabled, maar doordat ik de kleur niet veranderde, leek het alsof ze nog enabled waren....

mijn excuses :) toch bedankt voor jullie hulp

  • Lorn
  • Registratie: Maart 2000
  • Laatst online: 13-01-2025

Lorn

I have a bad feeling...

:D

Het zijn de kleine dingen die 't 'em doen!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ga je schamen in een hoekje jij! :( ;)

Ik vond 't overigens wel al opvallend dat je de textkleur niet zette in de else....

[ Voor 4% gewijzigd door RobIII op 22-09-2004 13:54 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 21:15

Sponge

Serious Game Developer

ElseIf is zonde, je hebt die extra if helemaal niet nodig. Gewoon Else dus :) (voor bovenstaande TS code)
Pagina: 1