It is possible to use LINQ in principle, but hardly makes much sense. Controls are organized in parent-child relationships in one single hierarchy, so you will need to search it recursively using the property
System.Windows.Forms.Control.Controls
. This is simple, but what's your search criteria?
I would note though that the necessity of such search is a good sign of really bad UI design. Correct design never needs such search.
The basic idea is: you need to have a data layer isolated from UI; you will need data binding or population of of the UI with the data, update of the data based on UI. (A hint: think "Controller".)
I suggest you learn and analyze applicability of the following
architectural patterns (
http://en.wikipedia.org/wiki/Architectural_pattern_(computer_science)[
^]):
MVVM — Model View View Model,
http://en.wikipedia.org/wiki/Model_View_ViewModel[^],
MVC — Model-View-Controller,
http://en.wikipedia.org/wiki/Model-view-controller[^]),
MVA — Model-View-Adapter,
http://en.wikipedia.org/wiki/Model–view–adapter[^],
MVP — Model-View-Presenter,
http://en.wikipedia.org/wiki/Model-view-presenter[^].
Pay attention for the motivation of those architectures. If you understand it, you would be able to create better design ideas.
—SA