Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455

    [VB.NET]NumericUpDown problema sottrazione

    Chiedo scusa per aver aperto due topic in poco tempo ma sono dei problemi veramente banali a cui sto scervellando da ore... questa volta per ogni valore che si aumenta sul numericupdown si addiziona il costo che è in una variabile e viene scritto nella textbox.Per cui:

    valore 1 = 1000 sul textbox
    valore 2 = 2000 sul textbox

    e così via...fin qui nessun problema, addiziona senza problemi.Il problema è nel quando decremento il valore del numericupdown...

    Codice PHP:
    Private Sub NumericUpDown2_ValueChanged(ByVal sender As System.ObjectByVal e As System.EventArgsHandles NumericUpDown2.ValueChanged

            
    'TextBox2.Text = NumericUpDown1.Value
            If NumericUpDown2.Increment = +1 Then //se incremento il valore del numeric aggiungo il costo
                TextBox2.Text += costo
            Else
                If NumericUpDown2.Value - 1 Then //se abbasso il valore allora sottraggo 1000 
                    TextBox2.Text -= 1000
                End If
            End If
        End Sub 
    quando abbasso il valore del numericupdown invece di sottrarre i 1000 continua ad addizionare fino a che non arriva al minimo (0)

    quale puo' essere il problema?

  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    Io non ho capito bene ma molto probabilmente qui ti sei saltato un =
    codice:
    If NumericUpDown2.Value - 1 Then //se abbasso il valore allora sottraggo 1000

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455
    Originariamente inviato da rsdpzed
    Io non ho capito bene ma molto probabilmente qui ti sei saltato un =
    codice:
    If NumericUpDown2.Value - 1 Then //se abbasso il valore allora sottraggo 1000
    Praticamente , quando abbasso il valore del numericupdown devo levare 1000 alla somma che c'è nel textbox,solo che quando abbasso il valore invece di sottrarre continua ad ad addizionare 1000...

    Purtroppo, no il problema non è l'uguale perchè ho provato sia con che senza.

  4. #4
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    Quindi se l'espressione (NumericUpDown2.Value - 1) è true sottrai l'intero 1000 dalla proprietà text (stringa) della textbox2.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455
    Il problema è che in questo modo toglie 1000 solo quando si raggiunge il valore -1...

    io invece voglio che ogni volta che abbasso il valore di 1 (partendo ad esempio da 10) mi tolga 1000 alla somma nella textbox...

  6. #6
    Utente di HTML.it L'avatar di ShaleN
    Registrato dal
    Aug 2010
    Messaggi
    517
    Salve a tutti.

    Prova così:
    codice:
    Public Class Form1
       Dim OriginalValue As Integer = 0 'o il valore iniziale della NumericUpDown.
    
       Private Sub NumericUpDown2_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown2.ValueChanged
    
            TextBox2.Text = NumericUpDown1.Value
    
            If NumericUpDown2.Value = OriginalValue + 1 Then
                TextBox2.Text += costo
            Else
                If NumericUpDown2.Value = OriginalValue - 1 Then
                    TextBox2.Text -= 1000
                End If
            End If
           
           OriginalValue = NumericUpDown2.Value
        End Sub
    End Class
    Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
    La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
    Occhio per occhio uguale... occhio al quadrato

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    455
    Originariamente inviato da ShaleN
    Salve a tutti.

    Prova così:
    codice:
    Public Class Form1
       Dim OriginalValue As Integer = 0 'o il valore iniziale della NumericUpDown.
    
       Private Sub NumericUpDown2_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown2.ValueChanged
    
            TextBox2.Text = NumericUpDown1.Value
    
            If NumericUpDown2.Value = OriginalValue + 1 Then
                TextBox2.Text += costo
            Else
                If NumericUpDown2.Value = OriginalValue - 1 Then
                    TextBox2.Text -= 1000
                End If
            End If
           
           OriginalValue = NumericUpDown2.Value
        End Sub
    End Class
    Grazie mille! funziona alla grande! (all'inizio non mi aveva funzionato, il problema era il TextBox2.Text = NumericUpDown1.Value, che mi incuriosiva perchè proprio non ricordavo a che serviva...evidentemente ho dimenticato di cancellarlo durante altre prove...)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.