usercontrol in vb

Pagina: 1
Acties:

  • Nutcaze
  • Registratie: Oktober 1999
  • Laatst online: 24-07 10:48
Ik heb in vb een usercontrol aangemaakt die een formulier oproept.
De usercontrol bestaat uit een textbox en een button.
Nou wil ik een reference (of iets anders )van die usercontrol meegeven aan dat formulier.
Zodat een waarde die in het formulier gekozen wordt in de textbox op de usercontrol geplaats kan worden.
Kan dit, en zo ja hoe dan?

Alvast bedankt

Not all chemicals are bad. Without hydrogen or oxygen, for example, there would be no way to make water, a vital ingredient in beer.


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Topictitel is een beetje misleidend, eigenlijk wil je gewoon weten hoe je een waarde uit een form teruggeeft naar de plek waar de form opgeroepen werd (uh zoiets dan).

Er zijn verschillende mogelijkheden.
Makkelijkste is een functie in de form gebruiken, die de form toont en daarna een waarde teruggeeft.
Netter vind ik het (maar is wel iets meer code) om de form een event te laten raisen als er een waarde is geselecteerd, en uiteraard in die event handler in je control de waarde in de tekstbox zetten.
Wat je ook nog kan doen is een soort van init functie maken die je als parameter een reference naar de textbox mee geeft, en in de form dan die reference gebruikt, iets als:
code:
1
2
3
4
5
6
7
8
9
' in de form
Private m_Textbox as TextBox

Public Sub Init(ByRef txt As TextBox)
    Set m_Textbox = txt
End SUb

' ok button:
m_Textbox.Text = geselecteerde_waarde

en vanuit je usercontrol aanroepen als
Load Formpje
Formpje.Init(Text1)
Formpje.Show vbModal

Zijn natuurlijk nog wel meer mogelijkheden, maar ik vind het zelf vrijwel altijd wel handig om met events te werken, dus meestal gebruik ik die er dan voor (is ook handig voor als je dezelfde form ook nog ergens anders wilt gebruiken, alleen dan niet de waarde in een textbox wilt zetten).

Exact expert nodig?


  • Nutcaze
  • Registratie: Oktober 1999
  • Laatst online: 24-07 10:48
Misschien dat iemand weet of er al zo'n component bestaat...
Ik heb dus een control die er zo uitziet:
Afbeeldingslocatie: http://www.nutcaze.nl/various/control.jpg

Deze roept (als je op de button met de drie puntjes drukt een formuliertje aan die er zo uitziet:
Afbeeldingslocatie: http://www.nutcaze.nl/various/schermpje.jpg

Vervolgens als er in dit schermpje selecteer gedaan wordt, wordt de geselecteerde waarde in de control geplaatst.

Iemand een idee?

Not all chemicals are bad. Without hydrogen or oxygen, for example, there would be no way to make water, a vital ingredient in beer.


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 16-09 23:21

mulder

ik spuug op het trottoir

Je bent een beetje way off. Er is geen component dat dat voor jou gaat doen. Dat is nl een beetje onzinnig, want daar heb je code voor. Wat je moet doen, is als op die '..' button wordt geclickt is het form loaden, vervolgens de waarde aan dat form meegeven. Door bv een procedure SelectInList

Form1_ButtonClick
Load Form2
Form2.SelectInList(txtWaarde.text)
Form2.Show
End

EDIT: Wat Crazy_D dus ook al zei

oogjes open, snaveltjes dicht


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 16-09 23:21

mulder

ik spuug op het trottoir

Oh, wat zit ik op verkeerde knopjes te drukken....

oogjes open, snaveltjes dicht


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 16-09 23:21

mulder

ik spuug op het trottoir

F#ck, dat ging fout...

oogjes open, snaveltjes dicht


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Op donderdag 22 november 2001 15:48 schreef El_Mundo het volgende:
Oh, wat zit ik op verkeerde knopjes te drukken....
Lieve Adjes,
Kunnen we misschien een testforum krijgen? Waar users kunnen proberen hoe ze kunnen editten en quoten?
Alvast bedankt
:P

Ik wil niet herhaling vallen, maar kijk nog even naar m'n eerdere post. Misschien brak uitgelegt, maar ik geef 2 (of 3?) manieren om een waarde terug te krijgen vanuit een andere form.

Exact expert nodig?


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 16-09 23:21

mulder

ik spuug op het trottoir

Op donderdag 22 november 2001 15:56 schreef CrazyD_at_work het volgende:

[..]

Lieve Adjes,
Kunnen we misschien een testforum krijgen? Waar users kunnen proberen hoe ze kunnen editten en quoten?
Alvast bedankt
:P
Ik weet wel hoe het werkt, maar Metallica staat zo hard aan, dat ik enigzins verdwaasd ben... *D

oogjes open, snaveltjes dicht


  • Nutcaze
  • Registratie: Oktober 1999
  • Laatst online: 24-07 10:48
Die usercontrol staat op een ander formulier (form1) en roept zelf dat keuzeformulier aan.
Nou is het probleem dat het keuze formulier (form2) niets afweet van die usercontrol.
Ik kan natuurlijk op form1 een variabele aanmaken die form2 vuld en die de usercontrol later uitleest.
Maar mijn bedoeling is een helemaal op zichzelf staand component te maken die ik gewoon ovweral kan neerzetten ZONDER daarvoor dingen op het formulier te moeten definieren die de werking van dit component mogelijk maken.

Een eventhandler wil ik liever ook (kan ik volgens mij ook)niet gebruiken omdat ik meerdere van die componenten op een formulier wil zetten en die weten niet voor welk component een bepaalde event is omdat al die usercontrols allemaal hetzelfde zijn.

Mijn vraag komt er dus eigenlijk op neer kan een object (usercontrol) een reference of een pointer van (naar) zichzelf meegeven aan een ander object (formulier)???

Alweer alvast bedank.

Not all chemicals are bad. Without hydrogen or oxygen, for example, there would be no way to make water, a vital ingredient in beer.


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Op donderdag 22 november 2001 15:59 schreef El_Mundo het volgende:

[..]

Ik weet wel hoe het werkt, maar Metallica staat zo hard aan, dat ik enigzins verdwaasd ben... *D
:D :D
Weer een reden om Metallica te verbieden, het tast het klikvermogen aan :P

Naja als de topicstarter nog ff wil laten weten of het werkt (naja niet of, maar dat :P) dan kunnen we het topic in de vergetenheid laten zakken, voordat we nog meer offtopic zakken... ;)

(met Rush is het trouwens prima klikken :P)

Exact expert nodig?


  • Lister
  • Registratie: September 2001
  • Laatst online: 15-02-2022
Ik weet eigenlijk niet of het mogelijk is maar kan je geen UserControl property op Form2 maken?

Dan krijg je dus zoiets in het Click-event:
code:
1
2
3
Load Form2
Set Form2.ucoBron = Me.ucoPeriode
Form2.Show vbModal

Zo zou Form2.ucoBron dus moeten verwijzen naar de bron usercontrol.
Je moet dan wel de events van Form2 goed indelen, dat het Load event dus niet allemaal dingen gaat doen met ucoBron terwijl ie dan nog niet gezet is.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:12

Crazy D

I think we should take a look.

Op donderdag 22 november 2001 16:12 schreef Nutcaze het volgende:
Mijn vraag komt er dus eigenlijk op neer kan een object (usercontrol) een reference of een pointer van (naar) zichzelf meegeven aan een ander object (formulier)???
Zie (dus) Lister's reactie om 'm als property te zetten, of mijn eerdere reactie door het via een Init functie te doen :)

Exact expert nodig?

Pagina: 1