Sheena Sofia Tegerero Ответов: 3

Как я могу добавить значение textbox2 и textbox4?


Я хочу добавить значения textbox2 и textbox4, и сумма будет отображаться в textbox9, когда я нажму кнопку 1 total.

какой код я должен ввести в button1?

Что я уже пробовал:

namespace LogIn
{
    public partial class Form3 : Form
    {
        public Form3()
        {
            InitializeComponent();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            // Clear the Textboxes and the total labels/
            textBox2.Text="";
            textBox4.Text="";
            textBox9.Text = "";
            textBox1.Text="";
            textBox3.Text="";
            // reset the focus
            textBox9.Focus();
            textBox2.Focus();
            textBox4.Focus();
            textBox3.Focus();
            textBox1.Focus();

        }

        private void button4_Click(object sender, EventArgs e)
        {
            DialogResult iLogOut;

            iLogOut = MessageBox.Show("Do you want to Log Out?", "Leave?", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (iLogOut == DialogResult.Yes)
            {
                Application.Exit();
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            try
            {
                const double fries_small = 25;
                const double fries_large = 40;
                const double fries_bucket = 70;
                double friesQuantity;
                double friesTotal; // fries amount * cost
                friesQuantity = int.Parse(textBox1.Text);
                if (checkBox1.Checked == true)
                {
                    friesTotal = friesQuantity * fries_small;
                    textBox2.Text = friesTotal.ToString("c");
                }
                else if (checkBox2.Checked == true)
                {
                    friesTotal = friesQuantity * fries_large;
                    textBox2.Text = friesTotal.ToString("c");
                }
                else if (checkBox3.Checked == true)
                {
                    friesTotal = friesQuantity * fries_bucket;
                    textBox2.Text = friesTotal.ToString("c");
                }
                
                else
                {
                    MessageBox.Show("Fill the order form please");
                }
            }

            catch (Exception)
            {
                MessageBox.Show("Please fill out the order form");
            }
        }



        private void Form3_Load(object sender, EventArgs e)
        {
            MessageBox.Show("Original flavored fries and affordable drinks available, Order Now!");
        }

        private void button6_Click(object sender, EventArgs e)
        {
            try
            {
        const double bev_water = 20;
        const double bev_icedtea = 25;
        const double bev_coke = 30;
        double bevQuantity = int.Parse(textBox3.Text);
        double beveragesTotal; // beverage amount * cost
        
            if (checkBox4.Checked == true)
                {
                    beveragesTotal = bevQuantity * bev_water;
                    textBox4.Text = beveragesTotal.ToString("c");
                }
                else if (checkBox5.Checked == true)
                {
                    beveragesTotal = bevQuantity * bev_icedtea;
                    textBox4.Text = beveragesTotal.ToString("c");
                }
                else if (checkBox6.Checked == true)
                {
                    beveragesTotal = bevQuantity * bev_coke;
                    textBox4.Text = beveragesTotal.ToString("c");
                }
             else
                {
                    MessageBox.Show("Fill the order form please");
                }
            }
             catch(Exception)
            {
                MessageBox.Show("Please fill out the order form");
             }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            
        }

        }

    }

[no name]

Вы берете текст из текстовых полей, преобразуете строки в числа, затем с помощью оператора + складываете числа вместе и устанавливаете текстовое свойство textbox равным сумме.

3 Ответов

Рейтинг:
26

Mehedi Shams

Привет Шина,

Сам код нуждается в хорошей перестройке.

Первое, что вам нужно сделать, это дать хорошее название текстовым полям и кнопкам. Помните, что хорошее имя должно в достаточной мере описывать действия, которые они совершают; это уменьшает усилия комментирования.

Предложения, например.:

button2 -> Rename as 'ResetBtn'
button4 -> Rename as 'ExitBtn'
button5 -> Rename as 'FriesOrderBtn'
button6 -> Rename as 'BeveragesOrderBtn'
button1 -> Rename as 'TotalPriceBtn'
checkBox1 -> Rename as 'SmallFriesCheckBox'
.....................
.....................
etc.
Следующий код делает ненужные переходы между текстовыми полями:
// reset the focus
textBox9.Focus();
textBox2.Focus();
textBox4.Focus();
textBox3.Focus();
textBox1.Focus();
Это может быть просто последняя строка; первые четыре строки вызывают ненужные поездки между элементами управления.
textBox1.Focus();
Еще одна вещь, которую вам нужно сделать, - это поместить все константы в верхнюю часть кода; это выглядит непрофессионально, если вы помещаете их внутрь методов. Константы создаются во время компиляции, а не во время выполнения. Это не похоже на то, что они создаются при переходе к методу; они создаются в начале программы.

Еще одно предложение заключается в том, чтобы обернуть свой код в try-catch блоки. Никогда не знаешь, что может случиться во время выполнения.

Наконец, проблема на вашей стороне-добавление цены на картофель фри и напитки. Вы уже использовали решение (int. Parse(textBox1. Text)), вы можете использовать то же самое.
private void button1_Click(object sender, EventArgs e)
{
	// Check if prices for fries and beverages are calculated yet. If not then return.
	if (string.IsNullOrEmpty(textBox2.Text) || string.IsNullOrEmpty(textBox4.Text))
        return;

	try
    {
        int Total = int.Parse(textBox2.Text) + 	int.Parse(textBox4.Text);
	    textBox9.Text = Total.ToString();
    }
    catch (FormatException Ex)
    {
        MessageBox.Show("Expecting numbers in the price boxes of fries and beverages.
                         Error msg: " + Ex.Message);
    }
}


Animesh Datta

5 для объяснения.

Рейтинг:
2

VIkram Barnwal

Сначала преобразуйте значение текстового поля в числовое значение(например, int, double.)
Ex-int val1 = преобразовать.ToInt32(TextBox2. Text);
int val2 = преобразовать.ToInt32(TextBox2. Text);

Во-вторых, добавьте эти значения...используя временную переменную
Ex-int result = val1+val2;

В третьих назначьте этот результат в текстовое поле
Экс - Элемента Textbox3.Текст= результат.Метод toString();

Или
Только В Одной Строке

Textbox3 и.Текст = (Конвертировать.ToInt32 (TextBox2.Text) + Конвертировать.ToInt32(TextBox2. Text));


Рейтинг:
14

Bryian Tan

1. преобразуйте строку валюты в число
2. сумма двух чисел
3. конвертируйте его обратно в валюту

double beveragesTotal, friesTotal;

double.TryParse(textBox4.Text, System.Globalization.NumberStyles.Currency, 
System.Globalization.CultureInfo.CurrentCulture.NumberFormat, out beveragesTotal);

double.TryParse(textBox2.Text, System.Globalization.NumberStyles.Currency, 
System.Globalization.CultureInfo.CurrentCulture.NumberFormat, out friesTotal);

textBox9.Text = (beveragesTotal + friesTotal).ToString("c");