Сложение двух чисел в Windows Forms

В недавней статье мы писали консольную программу для сложения двух чисел на языке C#.
Теперь давайте попробуем написать такую же программу, но уже не в консоли, а используя формы Windows Forms.

Итак, для начала мы добавляем в нашу форму три TextBox’a из панели элементов. В первые два мы запишем наши числа, а в третей выведется результат. При помощи элемента Label подпишем их.

Сложение двух чисел в Windows Forms на языке C#

Переходим к коду, и в теле кода public partial class Form1 : Form объявляем следующие переменные:

В s мы будем считывать строки из первых двух TextBox’ов.

а – конвертированное в double первое число.

b – конвертированное в double второе число.

c – сумма этих чисел.

Далее в форме дважды щелкаем на TextBox1, открывается участок кода, в который мы пишем:

Как было сказано выше, мы считываем текст и конвертируем его в тип с плавающей точкой double.

Затем в форме по аналогии щёлкаем на TextBox2 и пишем почти тоже самое, но с другой переменной double:

Мы не добавляем помимо s другую строковую переменную, как это было в статье с консолью, так как считываемые строки на этот раз находятся в разных телах кода, поэтому значение s  из первого TextBox’a не сохраняется во втором TextBox’e. Так мы экономим память.

Теперь, допустим, что мы хотим, чтобы сумма в третьем TextBox’e появлялась при щелчке на область этого TextBox’a. Тогда мы щёлкаем один раз на TextBox3, идём в События (значок в виде молнии) и ищем вкладку MouseClick:

События элемента textBox

Дважды нажимаем на неё, нас переносит на участок кода, отвечающий за щелчок мыши на участке третьего TextBox’a. И там мы пишем:

Собственно, складываем полученные числа и переводим с в строковый формат.

Вот и всё, программа готова:

Сложение двух чисел в Windows Forms - демонстрация

Исходник на языке C#:

Скачать исходник

 

 

Сложение двух чисел в Windows Forms
5 (100%) 2 votes

Поделиться в соц. сетях:

7 комментария(ев) к статье “Сложение двух чисел в Windows Forms

  1. Alexandr

    День добрый!
    С кодом все понятно.
    Хочу сделать чтобы в третьем textBox’e результат писался не после клика, а как только вводишь значения в любой из двух предыдущих. Уже 3 дня бьюсь над этой проблемой, все никак.
    Можете помочь?

    Заранее благодарен.

    1. Юлия Автор статьи

      Здравствуйте, Alexandr.
      Для этого Вам необходимо удалить событие textBox3_MouseClick, а код, который выполнялся в нём скопировать в события textBox1_TextChanged и textBox2_TextChanged.
      Код будет таким:
      private void textBox1_TextChanged(object sender, EventArgs e)
      {
      s = textBox1.Text;
      a = Convert.ToDouble(s);
      c = a + b;
      textBox3.Text = Convert.ToString(c);
      }
      private void textBox2_TextChanged(object sender, EventArgs e)
      {
      s = textBox2.Text;
      b = Convert.ToDouble(s);
      c = a + b;
      textBox3.Text = Convert.ToString(c);
      }

          1. Alexandr

            Спасибо большое!
            Последний код рабочий!
            И предыдущий заработал, видимо был какойто глюк программы.

  2. Egor

    Когда пытаюсь ввести не целое число например(0,15) при нажатии на “.” программа вылетает. и выводит сообщение: Выходная строка имеет неверный формат. Как это исправить?

    1. admin

      В дробном числе попробуйте использовать или точку, либо запятую. Что-то из них должно работать.

Добавить комментарий для Alexandr Отменить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">