读书人

winform怎么遍历所有的第三方控件

发布时间: 2012-07-31 12:33:46 作者: rapoo

winform如何遍历所有的第三方控件
如果控件是.net自带的控件,这个遍历好做,通过Control的Controls属性就行

但第三方控件不一定继承Control,上面的方法就行不通

看了一些设计器的代码,对于子控件属性的识别也只是写死“Controls”这个属性名称

只能来这里看看各位有什么办法!!谢谢

[解决办法]

比如你自定义控件叫AA

C# code
foreach(AA aa in panel.Controls){}//或者foreach(Control aa in Panel.Controls){   if(aa is AA && ((AA)aa).Name == "aa")   {}}
[解决办法]
探讨
引用:
比如你自定义控件叫AA

C# code

foreach(AA aa in panel.Controls)
{}
//或者
foreach(Control aa in Panel.Controls)
{
if(aa is AA && ((AA)aa).Name == "aa")
{}
}

……

[解决办法]
不继承自 Control 的控件还真没见过.

[解决办法]
探讨

引用:
比如你自定义控件叫AA

C# code

foreach(AA aa in panel.Controls)
{}
//或者
foreach(Control aa in Panel.Controls)
{
if(aa is AA && ((AA)aa).Name == "aa")
{}
}

都说了,第三方控件不一定继承Control

[解决办法]
还是需要预先了解其类型,

比如 类库的 TabControl 若要遍历, 可以使用 TabPages 属性, Controls 属性

.net 2.0 的 toolstrip 系列, 由于可以寄宿控件, 子集合也有非继承自 Control 的.

[解决办法]
探讨

还是需要预先了解其类型,

比如 类库的 TabControl 若要遍历, 可以使用 TabPages 属性, Controls 属性

.net 2.0 的 toolstrip 系列, 由于可以寄宿控件, 子集合也有非继承自 Control 的.

[解决办法]
探讨
如果控件是.net自带的控件,这个遍历好做,通过Control的Controls属性就行

但第三方控件不一定继承Control,上面的方法就行不通

看了一些设计器的代码,对于子控件属性的识别也只是写死“Controls”这个属性名称

只能来这里看看各位有什么办法!!谢谢

[解决办法]

引用:
比如你自定义控件叫AA

C# code

foreach(AA aa in panel.Controls)
{}
//或者
foreach(www.cctv40.comControl aa in Panel.Controls)
{
if(aa is AA && ((AA)aa).Name == "aa")
{}
}

……

读书人网 >C#

热点推荐