日期:2014-05-20  浏览次数:20701 次

使用IExtenderProvider接口的问题
使用IExtenderProvider这个接口可以在不对控件进行封装的情况下给控件添加自定义属性,但是怎样在运行时知道有哪些控件有扩展属性并且是什么属性呢?急呀,在线等,大家多帮忙呀,跪求!!!!!

------解决方案--------------------
反射
control yourcontrol = ...
Type t = yourcontrol.GetType();
PropertyInfo[] pinfos = t.GetProperties();
foreach( PropertyInfo pinfo in pinfos )
{
MessageBox.Show(pinfo.Name)
}

------解决方案--------------------
你只能指定了,如TextBox

bool IExtenderProvider.CanExtend(object extendee)
{
if (extendee is TextBox)
{
return true;
}
else
{
return false;
}
}