Waarde aanpassen via knop werkt niet

Status
Niet open voor verdere reacties.

chrisje181

Gebruiker
Lid geworden
23 okt 2008
Berichten
106
Hallo allemaal,

Ben bezig met een materiaallijst programma, alleen het volgende stukje code werkt niet:
Code:
Public Class control
    Dim vis As New Visual


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim mat As New materiaallijst
        Label1.Text = CInt(Label1.Text) + CInt(TextBox1.Text)
        mat.OZ.Text = CInt(mat.OZ.Text) + CInt(Label1.Text)
    End Sub
End Class
Wat het moet doen is het volgende:

Als ik op button1 klik moet de software in een ander formulier (materiaallijst) de waarde aanpassen met + (en dan het getal wat in de textbox1 staat)

Zelfs met de omweg met een eigen label werkt mat.oz.text niet. Label1.text verandert wel.
 
Laatst bewerkt door een moderator:
Je laat het 2e form helemaal nergens zien. Je moet voor de 'end sub' nog 'mat.Show()' of 'mat.ShowDialog()' hebben staan.

MartinJM
 
dat gebeurt al vanaf het moment dat het visual form wordt aangeroepen.
 
Je maakt aan het begin van de code in de button een nieuwe instantie van het form aan. Je zou de verandering moeten doen in het form wat al geopend is:
Code:
materiaallijst.OZ.Text = CInt(mat.OZ.Text) + CInt(Label1.Text)
(even uit de losse pols)

MartinJM
 
Dat werkt!
Hartstikke bedankt MartinJM

Even de volgende vraag:

werkt dat hetzelfde met .close()
Want ik heb de volgende dim aangemaakt maar dat werkt daarna niet met close()

Dim con as new Control


en als je het visual form afsluit:

con.close()

Maar dat werkt dus niet. Maar ik kan wel met mat.close() de materiaallijst afsluiten vanuit visual close
 
en het werkt al niet meer:

Code:
Private Sub keuken_min_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles keuken_min.Click
        If vis.Label1.Text <> "0" Then
            vis.Label1.Text = CInt(vis.Label1.Text) - 1
            materiaallijst.OZ.Text = CInt(mat.OZ.Text) - 3
            materiaallijst.piket.Text = CInt(mat.piket.Text) - 6
            materiaallijst.paal1.Text = CInt(mat.paal1.Text) - 35
            materiaallijst.paal1_5.Text = CInt(mat.paal1_5.Text) - 3
            materiaallijst.paal2.Text = CInt(mat.paal2.Text) - 9
            materiaallijst.paal3.Text = CInt(mat.paal3.Text) - 2
            materiaallijst.paal4.Text = CInt(mat.paal4.Text) - 4
            materiaallijst.jerrycan.Text = CInt(mat.jerrycan.Text) - 2
            materiaallijst.jerrycan_kraan.Text = CInt(mat.jerrycan_kraan.Text) - 0
            materiaallijst.teiltjes.Text = CInt(mat.teiltjes.Text) - 2
            materiaallijst.emmers.Text = CInt(mat.emmers.Text) - 2
            materiaallijst.gasfles.Text = CInt(mat.gasfles.Text) - 0
            materiaallijst.kampvuurbak.Text = CInt(mat.kampvuurbak.Text) - 0
            materiaallijst.tafelblad_klein.Text = CInt(mat.tafelblad_klein.Text) - 0
            materiaallijst.tafelblad_groot.Text = CInt(mat.tafelblad_groot.Text) - 1
            materiaallijst.wasteilplank.Text = CInt(mat.wasteilplank.Text) - 1
        End If
    End Sub

De betreffende dims zijn aangemaakt (eventueel) en de forms zijn actief...
 
Laatst bewerkt door een moderator:
Kan je misschien met een breakpoint even checken of "vis.Label1.Text" nul is of niet?

MartinJM


[edit]
Over je eerste post: Ja, dat werkt hetzelfde :)
[/edit]
 
of vind ie 3 geopende forms niet leuk... zou het daar aan kunnen liggen?
 
ben er net achter gekomen dat visual basic het niet wil uitvoeren als er 3 forms zijn geopend. Want als ik het control panel met exact dezelfde code in het visual form neerzet, dan wil hij alles aanpassen wat moet in het materiaallijst formulier.

Hoe kan ik het oplossen dat het toch via een 3e formulier loopt.
 
Hoi,

Volgens mij maakt het helemaal niet uit hoeveel forms je opent bij het opstarten. Het enige waar je op moet blijven letten, is dat je alles wel goed aanroept.

Verder zijn er 2 manieren om een breakpoint neer te zetten (misschien nog wel meer, maar ik ken er 2):
  1. Op de goede lijn links naast het code veld klikken. Er zal een rood bolletje verschijnen en de lijn zal rood worden, wat aangeeft dat er een breakpoint staat.
  2. Op de goede lijn op je rechtermuisknop drukken. Dan 'Breakpoint' -> 'Insert breakpoint'. Ook hier zal er een bolletje verschijnen en zal de lijn rood worden.

Om een breakpoint weg te halen doe je hetzelfde.


MartinJM


[edit]
Om een breakpoint te maken kan je ook de cursor op de goede lijn zetten en op F9 drukken. (In de 2008 versie, ik weet niet of alles nog hetzelfde is in latere versies...)
[/edit]

[edit]
Bij mij werkt het ook nog als ik 10 forms tegelijk open... Die zijn dan wel leeg, maar dan nog.
[/edit]
 
Laatst bewerkt:
en hoe gaat het dan verder met die breakpoint... ken dat niet, heb het nooit gebruikt

Maar tot nu werkt het wel als ik maar 2 vensters actief heb...
 
Dan run je het programma. Het zal ophouden als het bij de lijn is met de breakpoint. Dan kan je de waardes in de variablen bekijken door je muis op de namen te houden.

MartinJM
 
is het volgende ook mogelijk:

Als ik op menu item Exit druk, dat hij dan visual_close public sub uitvoert? zo ja hoe?

Hierbij de code's

Code:
Public Sub Visual_Close(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
        If MsgBox("Did you saved the list before closing the program?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
            If MsgBox("Are you sure you want to quit?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then
                Dim F4 As New Form1
                materiaallijst.Close()
                control.Close()
                F4.Show()
            ElseIf MsgBoxResult.No Then
                e.Cancel = True
            End If
        ElseIf MsgBoxResult.No Then 'Activate save form part
            e.Cancel = True
            'Save file code:
            If SaveFileDialog1.ShowDialog = DialogResult.OK Then
                Dim ini2 As New IniFile2(SaveFileDialog1.FileName)
                'Write the general part off the ini file:
                ini2.WriteString("General", "Author", "Christiaan de Kleine")
                ini2.WriteString("General", "Create_date", "26 April 2013")
                ini2.WriteString("General", "Version", "V1.0")
                ini2.WriteString("General", "Contact_email", "c.dekleine@home.nl")
                'Write the pionier palen part off the ini file:
                ini2.WriteString("Pionierpalen", materiaallijst.label_materiaallijst_OZ.Text, materiaallijst.OZ.Text)
                ini2.WriteString("Pionierpalen", materiaallijst.label_materiaallijst_piket.Text, materiaallijst.piket.Text)
                ini2.WriteString("Pionierpalen", materiaallijst.label_materiaallijst_paal1.Text, materiaallijst.paal1_5.Text)
                ini2.WriteString("Pionierpalen", materiaallijst.label_materiaallijst_paal1_5.Text, materiaallijst.OZ.Text)
                ini2.WriteString("Pionierpalen", materiaallijst.label_materiaallijst_paal2.Text, materiaallijst.paal2.Text)
                ini2.WriteString("Pionierpalen", materiaallijst.label_materiaallijst_paal3.Text, materiaallijst.paal3.Text)
                ini2.WriteString("Pionierpalen", materiaallijst.label_materiaallijst_paal4.Text, materiaallijst.paal4.Text)
                'Write the klein materiaal part off the ini file:
                ini2.WriteString("Klein_materiaal", materiaallijst.label_materiaallijst_jerrycan.Text, materiaallijst.jerrycan.Text)
                ini2.WriteString("Klein_materiaal", materiaallijst.label_materiaallijst_jerrycan_kraan.Text, materiaallijst.jerrycan_kraan.Text)
                ini2.WriteString("Klein_materiaal", materiaallijst.label_materiaallijst_emmers.Text, materiaallijst.emmers.Text)
                ini2.WriteString("Klein_materiaal", materiaallijst.label_materiaallijst_teiltjes.Text, materiaallijst.teiltjes.Text)
                ini2.WriteString("Klein_materiaal", materiaallijst.label_materiaallijst_gasfles.Text, materiaallijst.gasfles.Text)
                ini2.WriteString("Klein_materiaal", materiaallijst.label_materiaallijst_kampvuurbak.Text, materiaallijst.kampvuurbak.Text)
                ini2.WriteString("Klein_materiaal", materiaallijst.label_materiaallijst_tafelblad_klein.Text, materiaallijst.tafelblad_klein.Text)
                ini2.WriteString("Klein_materiaal", materiaallijst.label_materiaallijst_tafelblad_groot.Text, materiaallijst.tafelblad_groot.Text)
                ini2.WriteString("Klein_materiaal", materiaallijst.label_materiaallijst_wasteilplank.Text, materiaallijst.wasteilplank.Text)
                'Write the kisten part of the ini file:
                ini2.WriteString("Kisten", materiaallijst.label_materiaallijst_materiaalkist.Text, materiaallijst.materiaalkist.Text)
                ini2.WriteString("Kisten", materiaallijst.label_materiaallijst_zijlenkist.Text, materiaallijst.zijlenkist.Text)
                ini2.WriteString("Kisten", materiaallijst.label_materiaallijst_keukenkist.Text, materiaallijst.keukenkist.Text)
                ini2.WriteString("Kisten", materiaallijst.label_materiaallijst_touwkist.Text, materiaallijst.touwkist.Text)
                ini2.WriteString("Kisten", materiaallijst.label_materiaallijst_lampenkist.Text, materiaallijst.lampenkist.Text)
                ini2.WriteString("Kisten", materiaallijst.label_materiaallijst_tentkist.Text, materiaallijst.tentkist.Text)
                ini2.WriteString("Kisten", materiaallijst.label_materiaallijst_patrouillekist.Text, materiaallijst.patrouillekist.Text)
                'Write the tenten part off the ini file:
                ini2.WriteString("Tenten", materiaallijst.label_materiaallijst_ruimtevaarderLaag.Text, materiaallijst.ruimtevaarderLaag.Text)
                ini2.WriteString("Tenten", materiaallijst.label_materiaallijst_ruimtevaarderHoog.Text, materiaallijst.ruimtevaarderHoog.Text)
                ini2.WriteString("Tenten", materiaallijst.label_materiaallijst_basecamp450.Text, materiaallijst.basecamp450.Text)
                ini2.WriteString("Tenten", materiaallijst.label_materiaallijst_rondo.Text, materiaallijst.rondo.Text)
                ini2.WriteString("Tenten", materiaallijst.label_materiaallijst_bungalow.Text, materiaallijst.bungalow.Text)
                'Write the npk aantallen section off the ini file:
                ini2.WriteString("npk_aantallen", "Patrouille_keuken", labelKeuken.Text)
                ini2.WriteString("npk_aantallen", "BAsecamp", labelBasecamp.Text)
                ini2.WriteString("npk_aantallen", "Hakplaats", labelHakplaats.Text)
                ini2.WriteString("npk_aantallen", "Wasplaats", labelWasplaats.Text)
                ini2.WriteString("npk_aantallen", "Hudo", labelHudo.Text)
                ini2.WriteString("npk_aantallen", "Vuurplaats", labelVuurplaats.Text)
                ini2.WriteString("npk_aantallen", "Foerage", labelRondo.Text)
            End If
        End If
    End Sub

Code:
Private Sub ExitToolStripMenuItem_Click(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
        
    End Sub
 
Code:
Visual_Close(sender, e)
Dat zou moeten werken!

MartinJM
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan