Как сделать Excel CommandBarButton невидимым при создании?
У меня есть надстройка Excel с двумя кнопками, вторую из которых я хотел бы скрыть при загрузке надстройки. Вот мой код:
public void OnStartupComplete(ref System.Array custom)
{
object omissing = System.Reflection.Missing.Value;
CommandBarButton Button1 = (CommandBarButton)g_PLCToolBarInstance.Controls.Add(1, omissing, omissing, omissing, omissing);
Button1 .Visible = true;
Button1 .Enabled = true;
Button1 .Caption = "Button1";
Button1 .Style = MsoButtonStyle.msoButtonIcon;
Button1 .Picture = PictureDispConverter.ToIPictureDisp(OneIco);
CommandBarButton Button2 = (CommandBarButton)g_PLCToolBarInstance.Controls.Add(1, omissing, omissing, omissing, omissing);
Button2 .Visible = false;
Button2 .Enabled = false;
Button2 .Caption = "Button2";
Button2 .Style = MsoButtonStyle.msoButtonIcon;
Button2 .Picture = PictureDispConverter.ToIPictureDisp(TwoIco);
....
}
Проблема в том, что вторая кнопка рисуется, затем удаляется (вместо того, чтобы быть скрытой с самого начала), оставляя призрачное изображение TwoIco в раскрывающемся списке Параметры панели инструментов...
вместо...
Любые идеи, пожалуйста?!
1 ответ
Решение
У меня есть старая надстройка, которая создала кнопки в OnStartupComplete, и, просматривая код, единственное существенное различие в моем было то, что я установил .Visible = false
наконец, после установки свойств Заголовок, Стиль и Изображение.