1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > [转] WinForm自定义函数FindControl实现按名称查找控件

[转] WinForm自定义函数FindControl实现按名称查找控件

时间:2021-12-24 16:36:43

相关推荐

[转] WinForm自定义函数FindControl实现按名称查找控件

原文地址 WinForm自定义函数FindControl实现按名称查找控件

本文所述实例实现WinForm自定义函数FindControl实现按名称查找控件的功能,在C#程序开发中有一定的实用价值。

/// <summary>/// 按名称查找控件/// </summary>/// <param name="parentControl">查找控件的父容器控件</param>/// <param name="findCtrlName">查找控件名称</param>/// <returns>若没有查找到返回NULL</returns>public static Control FindControl(this Control parentControl, string findCtrlName){Control _findedControl = null;if (!string.IsNullOrEmpty(findCtrlName) && parentControl != null){foreach (Control ctrl in parentControl.Controls){if (ctrl.Name.Equals(findCtrlName)){_findedControl = ctrl;break;}}}return _findedControl;}/// <summary>/// 将Control转换某种控件类型/// </summary>/// <typeparam name="T">控件类型</typeparam>/// <param name="control">Control</param>/// <param name="result">转换结果</param>/// <returns>若成功则返回控件;若失败则返回NULL</returns>public static T Cast<T>(this Control control, out bool result) where T : Control{result = false;T _castCtrl = null;if (control != null){if (control is T){try{_castCtrl = control as T;result = true;}catch (Exception ex){Debug.WriteLine(string.Format("将Control转换某种控件类型异常,原因:{0}", ex.Message));result = false;}}}return _castCtrl;}

测试代码

bool _sucess = false;CheckBox _finded = panel1.FindControl("checkBox1").Cast<CheckBox>(out _sucess);if (_sucess){MessageBox.Show(_finded.Name);}else{MessageBox.Show("Not Finded.");}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。