#c# #.net #winforms #numericupdown
#c# #.net #winforms #numericupdown
Вопрос:
Я создал две кнопки C # в VS 2015.
Как бы мне уменьшить числовое значение и удвоить числовое значение, которое находится в классе NumericUpDown, с помощью кнопки?
/// <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");
}
}
Комментарии:
1. Покажите свой код. Это сообщество предназначено для помощи в написании кода, а не для написания вашего кода.
2. @Saurabh srivastava Хорошо, извините за это.
Ответ №1:
Чтобы уменьшить вдвое или удвоить значение Value
NumericUpDown
, достаточно написать очевидное деление или умножение Value
на 2 и присвоить результат Value
.
Но результат, который вы видите, будет округлен на основе значения DecimalPlaces
. Значение будет содержать фактический результат, но текст показывает округленный результат. Чтобы повысить точность текста, увеличьте DecimalPlaces
и установите его 2
равным или больше.
numericUpDown1.Value /= 2; // numericUpDown1.Value = numericUpDown1.Value / 2;
numericUpDown1.Value *= 2; // numericUpDown1.Value = numericUpDown1.Value * 2;
Комментарии:
1. К вашему сведению, вы можете принять ответ, нажав на галочку рядом с ответом. Также, когда вы принимаете ответ, было бы здорово, если бы вы также проголосовали за ответ, нажав на стрелку вверх рядом с сообщением. Это совсем не обязательно, но это распространено, разумно и рекомендуется. Хотя вы можете принять только один ответ, вы можете проголосовать за столько ответов, сколько сочтете полезными, включая принятый. Для получения дополнительной информации о том, как работает прием ответов, см. Этот пост .
Ответ №2:
Предполагая, что winforms:
1) перейдите на страницу дизайна вашей формы.
2) дважды щелкните вашу кнопку или перейдите на вкладку «События» в окне свойств элемента управления и найдите событие «Щелчок», дважды щелкните его (окно свойств должно быть справа от вас и содержит молнию, которая является вкладкой событий). Это должно автоматически сгенерировать некоторый код, который выглядит следующим образом:
private void btnYourButton(object sender, EventArgs e)
{
//this is where your code goes
}
3) Напишите код для выполнения нужной функции между фигурными скобками {} . что-то вроде:
numericUpDown.Value = numericUpDown.Value * 2;