1

2 つのボタンを持つ Excel アドインがあり、アドインがロードされたときに 2 番目のボタンを非表示にしたいと考えています。これが私のコードです:

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

    ....
}

問題は、2 番目のボタンが描画されてから削除され (最初から非表示になるのではなく)、ツールバー オプションのドロップダウンに TwoIco のゴースト イメージが残ることです ...

悪い

それ以外の ...

良い

何かアイデアをください?!

4

1 に答える 1

2

OnStartupComplete でボタンを作成する古いアドインがあり、コードを調べたところ、私の唯一の実質的な違いは.Visible = false、キャプション、スタイル、および画像の各プロパティを設定した後に最後に設定したことです。

于 2012-03-09T18:56:16.217 に答える