whoami schreef op 12 maart 2004 @ 11:20:
[...]
Daar dacht ik in eerste instantie zelf ook aan, echter, (en ik weet niet hoe het bij VBA zit), maar moet je dan niet die parameter niet gaan casten naar het exacte type form voor je een property (zoals bv. die textbox) kunt aanroepen?
Zoja, is het dan niet beter dat je de TextBox waarvan je de waarde wilt veranderen meegeeft aan die functie, of, dat je een functie maakt die de waarde die aan de textbox (of aan eender welke control/variable) moet gegeven worden gewoon returned?
Je hoeft de parameter niet te casten naar exact hetzelfde type. Alle forms kun je doorgeven al aan variabele van het type form. Het enigste probleem dat je hebt is dat de code-completion je textbox niet ziet staan. Maar als je het runt werkt het wel.
code:
1
2
3
| Public Sub blaat(callingform As Form)
callingform.KnopDieEchtNietStandaardOpEenformVoorkomt.Caption = "blaat"
End Sub |
De textbox meegeven als parameter, of een functie maken die gewoon de tekst voor de textbox bewerkt zijn ook goede alternatieven.
Het hangt er helemaal vanaf wat de poster wilt doen met de textbox. Als hij alleen de text wilt vullen, dan kan hij het beste een losse functie maken die een waarde teruggeeft, en daarmee de textbox vullen.
Wil hij echter meerdere properties van een textbox wijzigen, onafhankelijk van de andere controls/waarden van het form, dan kan hij het beste de textbox als parameter meegeven. Zijn de wijzigingen aan de textbox ook nog eens afhankelijk van andere dingen op en aan het form, dan lijkt het form doorgeven mij het eenvoudigst.