using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Windows.Forms;
namespace 递归练习2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 开始计算
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnCalculate_Click(object sender, EventArgs e)
{
try
{
if (byte.TryParse(tbx1.Text, out byte result1) &&
byte.TryParse(tbx2.Text, out byte result2))
{
//溢出检查
checked
{
tbxResult.Text = ((byte)(result1 + result2)).ToString();
}
}
else
{
MessageBox.Show("请输入0~255内的数字");
}
}
catch (Exception ex)
{
Type type = ex.GetType();
MessageBox.Show(type.Name + "\n" + ex.StackTrace);
}
}
/// <summary>
/// 清除文本框中的数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnClear_Click(object sender, EventArgs e)
{
List<TextBox> textBoxes = new List<TextBox>();
textBoxes = FindTBox<TextBox>(groupBox2);
foreach (var item in textBoxes)
item.Clear();
}
/// <summary>
/// 返回指定控件中的T类型的所有控件的列表。
/// </summary>
/// <typeparam name="T">要查询的控件类型</typeparam>
/// <param name="control">指定控件的实例对象</param>
/// <returns></returns>
private List<T> FindTBox<T>(IComponent control)
{
List<T> results = new List<T>();
if (typeof(T) == control.GetType())
{
results.Add((T)control);
}
if (typeof(Control).IsAssignableFrom(control.GetType()))
{
foreach (IComponent item in ((Control)control).Controls)
{
results.AddRange(FindTBox<T>(item));
}
}
return results;
}
}
}
递归方法练习
最新推荐文章于 2021-04-12 21:46:47 发布