日期:2014-05-18  浏览次数:20860 次

请教:有谁用过ribbonControl吗,如何foreach其中的RibbonTabItem
使用 foreach(DevComponents.DotNetBar.RibbonTabItem rti in ribbonControl.Items)
时报错:
无法将类型为“DevComponents.DotNetBar.Office2007StartButton”的对象强制转换为类型“DevComponents.DotNetBar.RibbonTabItem”。

但因为ribbonControl本身带有一个Office2007StartButton类型的按钮,能否在foreach时把这个过滤掉?

------解决方案--------------------
typeof?试试看?
------解决方案--------------------
你可以先将Office2007StartButton这个过滤掉,如查有多个也可以用循环将其过滤掉,然后赋给 ribbonControl.Items
再foreach循环
------解决方案--------------------
C# code

foreach(DevComponents.DotNetBar.RibbonTabItem rti in ribbonControl.Items)
{
   if(typeof(rti)==typeof(DevComponents.DotNetBar.RibbonTabItem))
}

------解决方案--------------------
C# code
foreach(object o in ribbonControl.Items)
{
  DevComponents.DotNetBar.RibbonTabItem rti = o as DevComponents.DotNetBar.RibbonTabItem;  
  if(rti == null) continue;
  // do something
}

------解决方案--------------------
帮顶……