كيفية جعل إكسل كوماندباربوتون غير مرئية على إنشاء?

StackOverflow https://stackoverflow.com//questions/9639044

  •  10-12-2019
  •  | 
  •  

سؤال

لدي إكسيل الوظيفة الإضافية التي لديها 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);

    ....
}

المشكلة هي الزر الثاني يحصل رسمها ، ثم إزالتها (بدلا من أن تكون مخفية من البداية) ، وترك صورة شبح من توويكو على القائمة المنسدلة خيارات شريط الأدوات ...

Bad

بدلا من ...

Good

أي أفكار من فضلك?!

هل كانت مفيدة؟

المحلول

لدي الوظيفة الإضافية القديمة التي خلقت أزرار في أونستارتوبكومبليت ، وتبحث من خلال التعليمات البرمجية ، والفرق الموضوعي الوحيد في الألغام كنت تعيين .Visible = false أخيرا ، بعد تعيين خصائص التسمية التوضيحية والنمط والصورة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top