Нужно ли использовать переключатели в каждой функции виджета оконных форм, если мы рассматриваем разные варианты? - PullRequest
1 голос
/ 21 сентября 2019

Я делаю простое приложение формы окна конвертера единиц в c # .net, так как это конвертер единиц, я добавил выпадающий список или поле со списком, чтобы выбрать «массу», «длину», «температуру» и т. Д.Чтобы добавить функциональность к этим элементам поля со списком, нужно ли использовать регистр переключателей для этого конкретного выбора в каждой функции виджета (например, кнопка «Рассчитать», поле со списком, переключатели и т. Д.) Или есть способ получить это?сделано сразу?Ниже приведен неполный код, который я написал до сих пор в визуальной студии.На данный момент я использовал переключатели в кнопке «Рассчитать» и «Селектор» со списком (отмечен комментариями).

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace UnitConverter
{
    public partial class formUnitConverter : Form
    {
        public formUnitConverter()
        {
            InitializeComponent();
        }

        private void FormUnitConverter_Load(object sender, EventArgs e)
        {

        }

        private void BtnCalculate_Click(object sender, EventArgs e)   //Calculate Button
        {
            if (isNum(textBox1.Text))
            {
                switch (comboBox1.SelectedItem)
                {
                    case "Mass":
                        {
                            if (radioButton1.Checked)
                            {
                                double res = Convert.ToDouble(textBox1.Text) * 2.20462262185;
                                textBox2.Text = Math.Round(res, 4).ToString();
                            }

                            if (radioButton2.Checked)
                            {
                                double res = Convert.ToDouble(textBox1.Text) / 2.20462262185;
                                textBox2.Text = Math.Round(res, 4).ToString();
                            }

                            break;
                        }
                }

                label5.Text = "";
            }

            else
            {
                label5.Text = "Plese enter numbers only.";
            }
        }

        private void RadioButton1_CheckedChanged(object sender, EventArgs e)
        {
            if(radioButton1.Checked)
            {
                label3.Text = "kg";
                label4.Text = "lbs";
                textBox2.Text = "";
            }
        }

        private void RadioButton2_CheckedChanged(object sender, EventArgs e)
        {
            if (radioButton2.Checked)
            {
                label3.Text = "lbs";
                label4.Text = "kg";
                textBox2.Text = "";
            }
        }

        public bool isNum(string s)
        {
            return double.TryParse(s, out double i);
        }

        private void ComboBox1_SelectedIndexChanged(object sender, EventArgs e) //Combo Box Selector
        {
            switch (comboBox1.SelectedItem)
            {
                case "Mass":
                    {
                        label3.Text = "kg";
                        label4.Text = "lbs";
                        break;
                    }

                case "Temperature":
                    {
                        label3.Text = "F";
                        label4.Text = "C";
                        break;
                    }
            }
        }
    }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...