在 某个事件里 控制 这个tab1 是否显示在 选项卡里 应该怎么做? 
ribbon1.cs
public partial class Ribbon1 : OfficeRibbon
    {
...
         private void Ribbon1_Load(object sender, RibbonUIEventArgs e)
        {
            Globals.ThisAddIn.rbbn = this;
        }
         public void canvisble(Excel.Workbook wb)
        {
            if (wb.Name == "abc.xlsx")
                tab1.Visible = true;
            else tab1.Visible = false;
        }
...
}
================================================
ThisAddIn.cs
  public partial class ThisAddIn
{
...
        internal Ribbon1 rbbn
        void Application_WorkbookOpen(Excel.Workbook Wb)
        {
            rbbn.canvisble(Wb);
        }
...
}
应该怎么写??给 教一下好吗 谢谢

解决方案 »

  1.   

    应该可以动态控制了,用Add或是Remove我没去试过,但应该有,MS的东西都那个样
      

  2.   

            public void canvisble(Excel.Workbook wb)
            {
                if (wb.Name == "abc.xlsx")
                {
                    MessageBox.Show("ok");
                    Tabs.Add(tab1);
                }
                else
                {
                    MessageBox.Show("no");
                    Tabs.Remove(tab1);
                }
            }
    这样 写错了吗? 怎么还是不行?
      

  3.   

    this.tab1.ControlId.ControlIdType = Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
    这个是什么?? 我把它删掉了 后就可以 控制这个 tab了 ....
    tab1.Visible  就可以隐藏 或显示 不需要 add 等方法..