Pergunta

Eu tenho um Suplemento do Excel que tem 2 botões, o segundo dos quais eu gostaria de ser ocultada quando o Suplemento é carregado.Aqui é o meu código:

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);

    ....
}

Problema é o segundo botão fica desenhado, em seguida, removido (em vez de ser escondido desde o início), deixando uma imagem fantasma do TwoIco sobre a barra de Ferramentas Opções da lista suspensa ...

Bad

em vez de ...

Good

Alguma idéia por favor?!

Foi útil?

Solução

Eu tenho um velho add-in que criou botões no OnStartupComplete, e olhando o código, a única diferença substantiva em minas foi que eu defini o .Visible = false por último, depois de definir a Legenda, o Estilo e as propriedades da Imagem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top