WinForm自界說函數FindControl完成按稱號查找控件。本站提示廣大學習愛好者:(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."); }
願望本文實例對年夜家C#進修能有所贊助!