Как обратиться ко всем текстовым полям формы одновременно? - C#

Узнай цену своей работы

Формулировка задачи:

Есть кнопка CLEAR для очистки всех текстовых полей. Как их все обнулить? Програмка прилагается Спасибо
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 Lin_i_kvadr_uravneniya
{
    public partial class Form_square : Form
    {
        public Form_square()
        {
            InitializeComponent();
        }
 
        private void label7_Click(object sender, EventArgs e)
        {
 
        }
        private double Discrim(double a, double b, double c)
        {
            return b * b - 4 * a * c;
 
        }
 
        private void button_solution_Click(object sender, EventArgs e)
        {
            try
            {
                double a = Convert.ToDouble(textBox_a.Text);
                double b = Convert.ToDouble(textBox_b.Text);
                double c = Convert.ToDouble(textBox_c.Text);
            
            double d = Discrim(a,b,c);
            if (d < 0) 
            {
                textBox_d.Text = d.ToString();
                label_count.Text = "no solution";
                label_count.ForeColor = Color.Red;
            }
            else 
            {
                label_count.Text = "two solutions";
                label_count.ForeColor = Color.Black;
                textBox_d.Text = d.ToString();
                textBox_x1.Text =String.Format("{0:0.00}", (-b + Math.Sqrt(d)) / (2 * a));
                textBox_x2.Text = String.Format("{0:0.00}", (-b - Math.Sqrt(d)) / (2 * a));
                
             }
            }
            catch (FormatException)
            {
                MessageBox.Show("enter numeric values", "attention!!!!!!!!!");
            }
        }
        // как обратиться ко всем текстовым полям одновременно? Чтобы не писать несколько раз одно и то же.
        private void button1_Click(object sender, EventArgs e)
        {
            textBox_a.Text = null;
            textBox_b.Text = null;
            textBox_c.Text = null;
            textBox_x1.Text = null;
            textBox_x2.Text = null;
            label_count.Text = null;
            textBox_d.Text = null;
        }
    }
}

Решение задачи: «Как обратиться ко всем текстовым полям формы одновременно?»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication
{
    public partial class MainForm : Form
    {
        private List<Control> AllControls;
 
        public MainForm() {
            InitializeComponent();
            AllControls = new List<Control>();
        }
 
        private void GetControlRecursiveInternal(Control root) {
            foreach (Control c in root.Controls) {
                AllControls.Add(c);
                if (c.Controls != null)
                    GetControlRecursiveInternal(c);
            }
        }
 
        /// <summary>
        /// Находит все контролы, вложенные в контролы корневого элемента
        /// вне зависимости от уровня вложенности.
        /// </summary>
        /// <param name="root">Корневой элемента, например, форма</param>
        public IEnumerable<Control> GetControlRecursive(Control root) {
            if (root == null || root.Controls == null)
                return Enumerable.Empty<Control>();
            AllControls.Clear();
            GetControlRecursiveInternal(root);
            return AllControls;
        }
 
        private void button1_Click(object sender, EventArgs e) {
            var sb = new StringBuilder();
            foreach (Control ctrl in GetControlRecursive(this))
                sb.AppendFormat("{0} (of type {1})\r\n", 
                    ctrl.Name, ctrl.GetType().ToString());
            MessageBox.Show(sb.ToString());
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы