@Anatoliy5354

Как переделать консольное приложение под Windows Forms на языке C#?

Есть очень простая консольная программа на языке C#. Делает следующее: С клавиатуры вводится одно числовое значение X. После нажатия кнопки enter, программа считает результат по формуле и выводит на экран. В ней присутствует "защита от дурака", если ввести не число, то пишет по типу "значение введено неверно, попробуйте еще раз". На следующую пару требуется реализовать все тоже самое, только в окне (windows forms).
В windows form есть лейбл1(Введите значение X), текстБокс1(для ввода значения), кнопка(Получить результат), и текстБокс2(где выводится результат). Работать программа должна так: с клавиатуры (вводится целое или дробное число, в текстБокс1), после нажатия кнопки результат выводится в текстБокс2. Если значение введено не верно, то сообщение об ошибке выводится во втором(маленьком) окне.
Помогите, пожалуйста написать код программы. Не могу никак разобраться с обработчиками событий и защита для дурака делается совсем по другому... Готовое окно у меня есть, нужен только код. (окно прикреплено ниже).

Код консольного приложения
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp3333
{
    class Program
    {
        static void Main(string[] args)
        {
            double x1;
            while (true)
            {
                Console.Write("Введите значение X = ");
                if (double.TryParse(Console.ReadLine(), out x1))
                {
                    break;
                }
                else
                {
                    Console.Write("Значение введено неверно \n ");
                }
         
            } 

            double x2 = x1 * 3;
            double y;

            y = Math.Sqrt(56 + ((x1 + x2 + Math.Sin(x1 * x2)) / (5 * Math.Cos(Math.Pow(x2, 2)))));
            Console.WriteLine("Х равен" + x1);
            Console.WriteLine("Значение " + y);
            Console.ReadKey();

        }

    }
}

5bd57e15db38c694312112.jpeg
  • Вопрос задан
  • 1674 просмотра
Пригласить эксперта
Ответы на вопрос 2
Morpheus_God
@Morpheus_God
На событие клика кнопки пишите подобную функцию.
double x1;

            if(double.TryParse(textBox1.Text,out x1))
            {
                double x2 = x1 * 3;
                double y;

                y = Math.Sqrt(56 + ((x1 + x2 + Math.Sin(x1 * x2)) / (5 * Math.Cos(Math.Pow(x2, 2)))));
                textBox2.Text = $"Х равен {x1} Значение y {y}";
            }
            else
            {
                MessageBox.Show("Значение введено не верно!!!");
                textBox1.Text = "";
                textBox2.Text = "";
            }
Ответ написан
Комментировать
ProKiLL
@ProKiLL
Системный администратор
Вот тебе решение (вставь в событие клика по кнопке):
if (double.TryParse(textBox1.Text, out x1))
            {
                x2 = x1 * 3;

                y = Math.Sqrt(56 + ((x1 + x2 + Math.Sin(x1 * x2)) / (5 * Math.Cos(Math.Pow(x2, 2)))));
                textBox2.Text = $"Х равен {x1.ToString()},  Значение y {y.ToString()}";
            }
            else
            {
                MessageBox.Show("Значение введено неверно \n ");
            }

не забудь поменять textBox1 на имя 1 поля и textBox2 на имя 2 поля
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы