Multidesk.be » Forums » .Net » Forms verbinden met elkaar, met behulp van een module (VB.net)

  • Pagina
  • 1 van 1
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door Asdar op vrijdag 14 maart 2014 om 22:16:16.
Asdar heeft nog geen avatar toegevoegd
Multiviteit: 2
Hallo,
Ik ben nieuw op dit forum en ben ook radeloos met een redelijk complex probleem.
Mijn probleem luidt als volgt:
Voor een project met meerdere formulieren (beperken tot 2 forms hier om vervolgens ook de code te bepereken) zou ik graag wat tijd besparen en met behulp van de kracht van een module de toolstrip menu automatisch op de forms te zetten. Dit lukt ook. Maar vanaf dat we deze actie repeteren (bv chauffeurs > wagens > chauffeurs), verdwijnt de toolstrip bij het 2de keer laden van de chauffeurs.

Ik heb er al lang op zitten kijken maar weet geen raad om deze actie repeterend te maken. Ik vermoed dat de fout bij het (opnieuw) laden zit. meer bepaald bij
Private Sub FrmChauffeurs_Load(sender As Object, e As EventArgs) Handles MyBase.Load, Me.visibleChanged

(voor een visuele voorstelling van het probleem is het aan te raden de code te gebruiken in een vb.net project)

Codes in module
Declaraties
CODE
  1. Public tsbrit, tsbklanten, tsbchauffeurs, tsbTaxi, tsbAdminBeheer As New ToolStripButton
  2.     Public tsMenu As New ToolStrip

CODE
  1.  
  2. Public Sub Afbeeldingeninladentoolstrips()
  3.  'probs (= properties) Menu
  4.         With tsMenu
  5.             .Dock = DockStyle.Left
  6.             .Text = "Navigatie, klik op knoppen om iets raad te plegen"
  7.             'toolstrip bevolkeren
  8.             .Items.Add(tsbchauffeurs)
  9.             .Items.Add(tsbTaxi)
  10.         'probs chauffeurs
  11.         With tsbchauffeurs
  12.             .DisplayStyle = ToolStripItemDisplayStyle.Image
  13.             '.Image = Taxi2014.My.Resources.Resources.Chauffeurs
  14.             .ImageScaling = ToolStripItemImageScaling.None
  15.             .Text = "Raadpleeg uw chauffeurs en/of werknemers."
  16.             AddHandler .Click, AddressOf ChaufOpen
  17.         End With
  18.         'probs wagens
  19.         With tsbTaxi
  20.             .DisplayStyle = ToolStripItemDisplayStyle.Image
  21.             '.Image = Taxi2014.My.Resources.Resources.Wagens
  22.             .ImageScaling = ToolStripItemImageScaling.None
  23.             .Text = "Raadpleeg uw wagens."
  24.             AddHandler .Click, AddressOf WagensOpen
  25.         End With
  26.  
  27.     End Sub

CODE
  1. Public Sub ChaufOpen()
  2.         allesverbergen()
  3.         FrmChauffeurs.Show()
  4. End sub

CODE
  1. Public Sub WagensOpen()
  2.         allesverbergen()
  3.         frmWagens.Show()
  4.     End Sub

CODE
  1. Public Sub allesverbergen()
  2.         FrmMenu.Hide()
  3.         FrmChauffeurs.Hide()
  4.         frmWagens.Hide()
  5.     End Sub


Code in frmChauffeurs

CODE
  1. Private Sub FrmChauffeurs_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  2. 'Menu toevoegen
  3.         Afbeeldingeninladentoolstrips()
  4.         Me.Controls.Add(tsMenu)
  5.     End Sub


Code in frmWagens
CODE
  1. Private Sub frmWagens_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  2.        'Menu toevoegen
  3.         Afbeeldingeninladentoolstrips()
  4.         Me.Controls.Add(tsMenu)
  5.     End Sub


degene die dit kan fixen, ben ik duizend maal dankbaar ! :D

Opmerking van de crew

even de auteur gecorrigeerd :)
thekid
^ Reactie #1 geschreven door thekid op zondag 16 maart 2014 om 14:25:55.
thekid's avatar
Multiviteit: 5273
Moderator
ik zal eens kijken maar ik zal toch vermoedelijk vragen om je code project te zien, dan is het wat makkelijker te debuggen (vb.net is iets langer geleden :))
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #2 geschreven door thekid op vrijdag 21 maart 2014 om 20:35:22.
thekid's avatar
Multiviteit: 5273
Moderator
Was er eigenlijk tijdsdruk? Ik had het nogal druk deze week :)
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #3 geschreven door thekid op woensdag 26 maart 2014 om 20:33:13.
thekid's avatar
Multiviteit: 5273
Moderator
Dus, na eens overkijken :)

- 1 form per dataset -> maak daarvan 1 usercontrol per dataset
- 1 form met een toolstrip, die toolstrip zit op een master form
- bij wisselen van formulier -> verwijder bestaande control van de form en creeer nieuw control

in bijlage, voorbeeldje
Bijlage: b74d8220df2239e251efeaece6e22638.zip
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
  • Pagina
  • 1 van 1

Snel-antwoordformulier
Toon uitgebreid antwoordformulier Bericht nalezen Bericht plaatsen