- Timestamp:
- 06/13/13 19:45:37 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/sources/HeuristicLab.MainForm.WindowsForms/3.3/Controls/ControlExtensions.cs ¶
r9456 r9626 21 21 22 22 using System; 23 using System.Collections.Generic; 23 24 using System.Runtime.InteropServices; 24 25 using System.Windows.Forms; … … 45 46 } 46 47 } 48 49 public static IEnumerable<Control> GetNestedControls(this Control control, Func<Control, bool> condition = null) { 50 if (control == null) yield break; 51 if (condition == null) condition = (c) => true; 52 53 Queue<Control> unprocessed = new Queue<Control>(); 54 unprocessed.Enqueue(control); 55 56 while (unprocessed.Count > 0) { 57 Control c = unprocessed.Dequeue(); 58 if (condition(c)) yield return c; 59 foreach (Control child in c.Controls) 60 unprocessed.Enqueue(child); 61 } 62 } 47 63 } 48 64 }
Note: See TracChangeset
for help on using the changeset viewer.