2016-10-09 3 views
0

J'ai créé deux boutons C# VS 2015.Halve ou double la valeur numérique dans NumericUpDown

Comment puis-je réduire la valeur numérique, et le double de la valeur numérique qui est situé dans une classe NumericUpDown avec un bouton?

/// <summary> 
    /// place single bet, Low 
    /// </summary> 
    /// <param name="sender"></param> 
    /// <param name="e"></param> 
    private void button4_Click(object sender, EventArgs e) 
    { 
     CurrentSite.amount =((decimal)nudApiBet.Value); 
     CurrentSite.chance = (decimal)(nudApiChance.Value); 
     CurrentSite.PlaceBet(false, (decimal)nudApiBet.Value,(decimal)(nudApiChance.Value)); 
    } 

    private void nudApiBet_ValueChanged(object sender, EventArgs e) 
    { 
     if ((sender as NumericUpDown).Name == "nudApiBet") 
     { 

      lblApiBetProfit.Text = ((nudApiBet.Value * nudApiPayout.Value) - nudApiBet.Value).ToString("0.00000000"); 
     } 
     else if ((sender as NumericUpDown).Name == "nudApiChance") 
     { 
      decimal payout = (100m - CurrentSite.edge)/(nudApiChance.Value); 
      if (nudApiPayout.Value != payout) 
       nudApiPayout.Value = payout; 
      lblApiBetProfit.Text = ((nudApiBet.Value * payout) - nudApiBet.Value).ToString("0.00000000"); 
     } 
     else if ((sender as NumericUpDown).Name == "nudApiPayout") 
     { 
      decimal chance = (100m - CurrentSite.edge)/(nudApiPayout.Value); 
      if (nudApiChance.Value != chance) 
       nudApiChance.Value = chance; 
      lblApiBetProfit.Text = ((nudApiBet.Value * nudApiPayout.Value) - nudApiBet.Value).ToString("0.00000000"); 
     } 
    } 
+0

Afficher votre code.Cette communauté sert à aider le code qui n'écrit pas votre code. –

+0

@Saurabh srivastava D'accord, désolé à ce sujet. – user208204

Répondre

2

Pour réduire de moitié ou doubler le Value de NumericUpDown il suffit d'écrire la fracture évidente ou multiplier Value par 2 et affecter le résultat à Value.

Mais le résultat que vous voyez sera arrondi en fonction de la valeur DecimalPlaces. La valeur contiendra le résultat réel, mais le texte affiche un résultat arrondi. Pour augmenter la précision du texte, augmentez DecimalPlaces et réglez-le sur 2 ou plus.

numericUpDown1.Value /= 2;  // numericUpDown1.Value = numericUpDown1.Value/2; 
numericUpDown1.Value *= 2;  // numericUpDown1.Value = numericUpDown1.Value * 2; 
+0

JFYI, vous pouvez accepter une réponse en cliquant sur la coche près de la réponse. Aussi, lorsque vous acceptez une réponse, ce serait bien si vous votez également pour la réponse en cliquant sur la flèche vers le haut près de la poste. Ce n'est pas obligatoire du tout, mais c'est commun, raisonnable et recommandé. Bien que vous ne puissiez accepter qu'une seule réponse, vous pouvez augmenter le nombre de réponses que vous trouvez utiles, y compris celles qui sont acceptées. Pour plus d'informations sur le fonctionnement des réponses acceptées, consultez ce [post] (http://meta.stackexchange.com/questions/23138/how-to-accept-the-answer-on-stack-overflow). –

0

WinForms: En supposant

1) Accédez à la page de conception pour votre formulaire. 2) double-cliquez sur votre bouton, ou naviguez jusqu'à l'onglet Evénements dans la fenêtre de propriétés pour le contrôle et localisez l'événement "Click", double-cliquez dessus (la fenêtre de propriétés doit être sur votre droite et contient un éclair) qui est l'onglet des événements). Cela devrait générer automatiquement un code qui ressemble à:

private void btnYourButton(object sender, EventArgs e) 
     { 
     //this is where your code goes 
     } 

3) Ecrire le code pour la fonction désirée entre les accolades {}. Quelque chose comme:

numericUpDown.Value = numericUpDown.Value * 2;