以前在做一个winform开发时,也涉及到寻找动态添加的控件,由于在winform中没有webform中的FindControl方法,所以就到处找,在codeproject上找到一遍(但现在去找又找不到了,郁闷,),记下了当时的一段代码(由于是VB.NET的,看了就头痛,所以就交给别人做了)
Protected Overridable Function FindControl(ByVal Name As String) As Control
Dim propInfo As Reflection.PropertyInfo
propInfo = Me.GetType().GetProperty(Name, Reflection.BindingFlags.IgnoreCase
Or _
Reflection.BindingFlags.Instance Or Reflection.BindingFlags.NonPublic Or
Reflection.BindingFlags.Public)
If Not propInfo Is Nothing Then
Dim value As Object = propInfo.GetValue(Me, Nothing)
If TypeOf value Is Control Then
Return CType(value, Control)
End If
End If
Return Nothing
后来自己在做一个游戏时,也要用到这个技术了,所以就自己搞了一下(没用上面的方法)
具体的思路,可以看一下我那个游戏的源码,
在源码中,MapEditor(地图编辑器)目录下MapEditor.cs文件里有,其实思路跟上面的也差不多
http://www.cnblogs.com/lovewindy/archive/2005/06/07/169196.html