Текстовое поле имеет нулевое значение, и программа обнаруживает, что - PullRequest
0 голосов
/ 02 марта 2020

Привет, я новичок в программировании, управляемом событиями, и мне очень хотелось бы помочь.

Мне поставили какую-то работу, и я справляюсь с ней хорошо, но в моем коде ниже есть один недостаток: У меня есть текстовое поле, которое, если текст будет введен, добавит 2.00, однако это постоянно добавляет 2,00 к итогу.

Я пытался использовать выражение if, однако это не сработало, и меня это действительно раздражает.

Код не завершен, так как я хочу сделать это как можно больше самостоятельно.

decimal sizeCost = 0.00m;
const decimal extraSmall = 4.50m;
const decimal Small = 5.00m;
const decimal meduim = 5.50m;
const decimal large = 6.00m;
const decimal extraLarge = 7.00m;

string red;
string blue;
string white;
string green;
string purple;
string yellow;
string colour;

decimal fabCost = 0.00m;
const decimal cotton = 1.00m;
const decimal lycra = 2.50m;

int quanty = 0;
const decimal printingCost = 2.00m;

decimal cost = 0;
decimal totalCost1 = 0;
decimal totalCost = 0;
string surname = "";

private void buttonOrder_Click(object sender, EventArgs e)
{
    totalCost = sizeCost * quanty; 
    totalCost1 = fabCost * quanty;

   //fix this
   if (string.IsNullOrWhiteSpace(textBox1.Text))
   {
      cost = cost - 2.00m;
   }

   cost = fabCost + sizeCost + printingCost;
   labelDisplayCost.Text = cost.ToString("c");
   MessageBox.Show("The total cost is" + cost );
}

private void numericUpDownQuant_ValueChanged(object sender, EventArgs e)
{
    quanty = Convert.ToByte(numericUpDownQuant.Value);
}

1 Ответ

0 голосов
/ 02 марта 2020

Это всегда срабатывает, так как всегда будет верно

//fix this
 if (string.IsNullOrWhiteSpace(textBox1.Text))
 {
    cost = cost - 2.00m;
 }

Не должно ли это быть

//fix this
 if (!string.IsNullOrWhiteSpace(textBox1.Text))
 {
    cost = cost - 2.00m;
 }

The! отменил бы команду, чтобы проверить, есть ли в ней текст, а затем вы можете добавить 2,00 к стоимости.

Это будет эквивалентно высказыванию

if(true)
{
//do something
}
...