Knop deactiveert zijn functie na 1 keer klikken

Status
Niet open voor verdere reacties.

stevebravo

Gebruiker
Lid geworden
16 jan 2010
Berichten
156
De functie van een knop moet niet meer actief zijn wanneer je deze 2 keer achter mekaar indrukt..

bijvoorbeeld knop1 knop2 label1

-knop1 indrukken, label1 krijgt de het getal 1 te zien

-als ik knop1 nog een keer indruk dan bijft de label getal 1 laten zien

-als ik knop 2 indruk en daarna knop 1 krijgt de label pas het getal 2 te zien..


bedankt
 
Hey,

Wat je kan doen is labels maken. Dan text geven en in de properties zetten: Visible: FALSE

Daarna ga je op de knop dubbel (button1) klikken welke je dus wilt label 1 wilt laten zien en voegt toe:
Code:
Label1.Visible = True

Dan ga je op button2 dubbel klikken en voeg je toe:
Code:
Button1.Enabled = False
Geeft aan dat button1 niet meer klikbaar wordt.

En dan nog is op button2:
Code:
Label2.Visible = True

Ik denk dat je ongeveer dit bedoelde :)
 
bedankt voor de reactie, maar dit is het niet echt eigenlijk..

het gaat om een rekenmachine..

als ik nu 3 x x indruk, krijgt het de waarde 9, maar dat moet niet.. het getal moet 3 blijven..
 
Hier een voorbeeldje:

Code:
Imports System.IO
Imports System.Text

Public Class Form1
    Dim Toetsaanslagen As String
    Dim Formule_Uitkomst As String

    Public Sub Toon_Formule_Uitkomst()
        If Microsoft.VisualBasic.Right(Toetsaanslagen, 2) = "XX" Then
            Formule_Uitkomst = Microsoft.VisualBasic.Left(Toetsaanslagen, Len(Toetsaanslagen) - 1)
            Toetsaanslagen = Formule_Uitkomst
        Else
            Formule_Uitkomst = Toetsaanslagen
        End If
        Me.Label1.Text = Formule_Uitkomst
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Toetsaanslagen = ""
    End Sub

    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Toetsaanslagen = Toetsaanslagen & "1"
        Toon_Formule_Uitkomst()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Toetsaanslagen = Toetsaanslagen & "2"
        Toon_Formule_Uitkomst()
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Toetsaanslagen = Toetsaanslagen & "X"
        Toon_Formule_Uitkomst()
    End Sub
End Class

Succes met je rekenmachine!
 
Hier een voorbeeldje:

Code:
Imports System.IO
Imports System.Text

Public Class Form1
    Dim Toetsaanslagen As String
    Dim Formule_Uitkomst As String

    Public Sub Toon_Formule_Uitkomst()
        If Microsoft.VisualBasic.Right(Toetsaanslagen, 2) = "XX" Then
            Formule_Uitkomst = Microsoft.VisualBasic.Left(Toetsaanslagen, Len(Toetsaanslagen) - 1)
            Toetsaanslagen = Formule_Uitkomst
        Else
            Formule_Uitkomst = Toetsaanslagen
        End If
        Me.Label1.Text = Formule_Uitkomst
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Toetsaanslagen = ""
    End Sub

    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Toetsaanslagen = Toetsaanslagen & "1"
        Toon_Formule_Uitkomst()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Toetsaanslagen = Toetsaanslagen & "2"
        Toon_Formule_Uitkomst()
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Toetsaanslagen = Toetsaanslagen & "X"
        Toon_Formule_Uitkomst()
    End Sub
End Class

Succes met je rekenmachine!

erg bedankt voor je bijdrage, maar dit is niet echt wat ik nodig heb..

met die x bedoelde ik vermenigvuldigen.. dus 9x9=81

maar als ik 9 x x indruk, dan voert hij bij de 2e keer al zijn berekening uit..
moet dus niet! :(
 
In mijn voorbeeld probeer ik te laten zien, dat je de toetsaanslagen kunt bewaren in een variabele.
Dan kun je simpelweg uitvragen of er twee keer achterelkaar 'x' is ingevoerd.
Zo ja, dan moet jouw code voor het uitvoeren van de berekening niet worden uitgevoerd.

Dus in jouw code moet ergens een if-statement komen:

if (er is twee keer op 'x' gedrukt) then
(negeer die tweede 'x')
else
(ga rekenen)
end if
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan