مشاركة عبر


نظرة عامة على نموذج كائن الشريط

ينطبق على

تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع.

نوع المشروع

  • مشروعات على مستوى المستند

  • مشروعات على مستوى التطبيق

إصدار Microsoft Office

  • Excel 2007 و Excel 2010

  • InfoPath 2010

  • Outlook 2007 و Outlook 2010

  • PowerPoint 2007 و برنامج PowerPoint 2010

  • Project 2010

  • Visio 2010

  • Word 2007 و Word 2010

يقوم Visual Studio Tools لوقت تشغيل Office بعرض نموذج كائن مكتوب بشكل جيد ويمكنك استخدام ذلك في الحصول على وتعيين خصائص عناصر التحكم الخاصة بالشريط وذلك في وقت التشغيل. على سبيل المثال، يمكنك إضافة عناصر القائمة أو إظهار وإخفاء عناصر التحكم سياقياً بشكل حيوي.

يمكنك أيضاً إضافة علامات التبويب والمجموعات وعناصر التحكم إلى الشريط، ولكن يتم ذلك فقط قبل أن يتم تحميل الشريط من قبل تطبيق Office. للحصول على مزيد من المعلومات, راجع خصائص الإعداد التي تصبح للقراءة فقط .

يتكون نموذج كائن الشريط هذا بشكل أساسي من فئة الشريطو أحداث الشريط و فئات عناصر التحكم للشريط .

فئة الشريط

عند إضافة عنصر شريط (مصمم مرئى) جديد إلى المشروع، يقوم Visual Studio بإضافة فئة الشريط إلى ملف project.c الخاص بك وذلك في حالة أن المشروع يستهدف .NET Framework 4، فئة الشريط ترث من الفئة RibbonBase . إذا كان مشروعك يستهدف .NET Framework 3.5، فإن فئة الشريط ترث من الفئة OfficeRibbon.

تظهر هذه الفئة كفئة جزئية والتي تقسم بين الملف الذي يحتوي على التعليمة البرمجية الخاصة بالشريط والملف الذي يحتوي على التعليمة البرمجية للتصميم الخاص بالشريط .

أحداث الشريط

تحتوي فئة الشريط على الأحداث الثلاثة التالية:

المشاريع التي تستهدف .NET Framework 4

المشاريع التي تستهدف .NET Framework 3.5

الوصف

RibbonBase.Load

OfficeRibbon.Load

يُرفع عندما يقوم تطبيق Office بتحميل تخصيصات الشريط. يتم إضافة معالج الأحداث المسمى Load تلقائياً إلى ملف التعليمة البرمجية الخاصة بالشريط. استخدم معالج الحدث هذا لتشغيل تعليمة برمجية مخصصة عندما يتم تحميل الشريط.

RibbonBase.LoadImage

OfficeRibbon.LoadImage

يتيح لك ذلك التخزين المؤقت للصور في تخصيصات الشريط عندما يتم تحميل الشريط. يمكنك الحصول على أداء أفضل قليلاً إذا قمت بكتابة كود يقوم بالتخزين المؤقت لصور الشريط في معالج الأحداث. لمزيد من المعلومات، راجع LoadImage.

RibbonBase.Close

OfficeRibbon.Close

يعمل عندما يتم إغلاق مثيل الشريط.

عناصر التحكم الخاصة بالشريط

تحتوي مساحة الاسم المسماة Microsoft.Office.Tools.Ribbonعلى نوع لكل عنصر تحكم في مجموعة عناصر تحكم الشريط الخاصة بـ Office الخاصة بـمربع الأدوات.

يعرض الجدول التالي النوع لكل عنصر تحكم في الشريط. للحصول على وصف لكل عنصر تحكم، راجع نظرة عامة على الشريط.

اسم عنصر التحكم

اسم الفئة

صندوق:

RibbonBox

الزر

RibbonButton

مجموعة الزر (ButtonGroup)

RibbonButtonGroup

CheckBox

RibbonCheckBox

مربع تحرير و سرد

RibbonComboBox

المنسدلة (DropDown)

RibbonDropDown

صندوق التحرير (EditBox)

RibbonEditBox

معرض

RibbonGallery

المجموعة

RibbonGroup

Label

RibbonLabel

قائمة

RibbonMenu

فاصل

RibbonSeparator

زر الانقسام (SplitButton)

RibbonSplitButton

علامة التبويب

RibbonTab

زر التبديل (ToggleButton)

RibbonToggleButton

مساحة الاسم Microsoft.Office.Tools.Ribbon تستخدم البادئة "شريط" لهذه الأنواع لتجنب تضارب الاسم مع أسماء فئات عنصر التحكم في مساحة الاسمSystem.Windows.Forms.

عندما تقوم بإضافة عنصر تحكم إلى مصمم الشريط, يقوم مصمم الشريط بالتصريح بفئة عنصر التحكم كحقل في ملف التعليمات البرمجية "مصمم الشريط".

المهام الشائعة باستخدام خصائص تحكم الشريط

يحتوي كل عنصر تحكم شريط على خصائص يمكنك استخدامها لتنفيذ مهام مختلفة مثل تعيين تسمية لعنصر تحكم أو إخفاء و إظهار عناصر التحكم.

في بعض الحالات تصبح الخصائص للقراءة فقط بعد تحميل الشريط أو بعد إضافة عنصر تحكم للقائمة الديناميكية. للحصول على مزيد من المعلومات, راجع خصائص الإعداد التي تصبح للقراءة فقط .

يصف الجدول التالي بعض المهام التي يمكن تنفيذها باستخدام خصائص تحكم الشريط.

لهذه المهمة:

قم بعمل:

إخفاء أو إظهار عنصر التحكم.

استخدم الخاصية Visible.

تمكين أو تعطيل عنصر التحكم.

استخدم الخاصية Enabled.

تعيين حجم عنصر التحكم.

استخدم الخاصية ControlSize.

احصل على الصورة التي تظهر على عنصر التحكم.

استخدم الخاصية Image.

تغيير تسمية عنصر التحكم.

استخدم الخاصية Label.

أضف البيانات المعرفة من قبل المستخدم إلى عنصر التحكم.

استخدم الخاصية Tag.

احصل على العناصر الموجودة في RibbonBox ، RibbonDropDown ، RibbonGallery, أو

عنصر التحكم RibbonSplitButton.

استخدم الخاصية Items.

اضف العناصر إلى عنصر التحكم RibbonComboBox ، RibbonDropDown, أو RibbonGallery.

استخدم الخاصية Items.

اضف عناصر التحكم إلىRibbonMenu.

استخدم الخاصية Items.

لإضافة عناصر تحكم إلى RibbonMenu بعد تحميل الشريط إلى تطبيق Office، يجب عليك تعيين الخاصية Dynamic إلى true قبل أن يتم تحميل الشريط إلى تطبيق Office. للحصول على مزيد من المعلومات, راجع خصائص الإعداد التي تصبح للقراءة فقط .

للحصول على العنصر المحدد منRibbonComboBox ،

RibbonDropDown أو RibbonGallery.

استخدم الخاصية SelectedItem. للحصول على RibbonComboBox ، استخدم الخاصية Text.

قم بالحصول على المجموعات على RibbonTab.

استخدم الخاصية Groups.

حدد عدد الصفوف والأعمدة التي تظهر في RibbonGallery.

استخدم الخاصيتين RowCount و ColumnCount.

تعيين الخصائص التي تصبح للقراءة فقط

بعض الخصائص يمكن فقط تعيينها قبل تحميل الشريط. هناك ثلاثة أماكن لتعيين هذه الخصائص:

  • في نافذة Visual Studio خصائص .

  • في المنشئ لفئة الشريط.

  • في الأسلوب CreateRibbonExtensibilityObject فى الفئة ThisAddin ، ThisWorkbook, أو ThisDocumentمن مشروعك.

توفر القوائم الحيوية بعض الاستثناءات. يمكنك إنشاء عناصر التحكم الجديدة و تعيين خصائصها ثم إضافتها إلى القائمة الحيوية في وقت التشغيل, حتى بعد تحميل الشريط الذي يحتوي على القائمة.

خصائص عناصر التحكم التي قمت بإضافتها إلى القائمة الديناميكية يمكن تعيينها في أي وقت.

للحصول على مزيد من المعلومات, راجع خصائص الإعداد التي تصبح للقراءة فقط .

تعيين الخصائص في الدالة الإنشائية للشريط

يمكنك تعيين خصائص عنصر تحكم الشريط في الدالة الإنشائية لفئة الشريط. يجب أن يظهر هذا الرمز بعد الاستدعاء بأسلوبInitializeComponent. المثال التالي يضيف زر جديد إلى مجموعة ما إذا كان الوقت الحالي 17: 00 بتوقيت المحيط الهادي (UTC-8) أو لاحقاً.

بالنسبة للمشاريع التي تستهدف .NET Framework 4 ، اضف التعليمة البرمجية التالية:

<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New()
    MyBase.New(Globals.Factory.GetRibbonFactory())

    'This call is required by the Component Designer.
    InitializeComponent()
    Dim MyButton As Microsoft.Office.Tools.Ribbon.RibbonButton = _
        Me.Factory.CreateRibbonButton()
    MyButton.Label = "New Button"
    If System.DateTime.Now.Hour > 16 Then
        Group1.Items.Add(MyButton)
    End If

End Sub
public Ribbon1()
    : base(Globals.Factory.GetRibbonFactory())
{
    InitializeComponent();
    if (System.DateTime.Now.Hour > 16)
    {
        Microsoft.Office.Tools.Ribbon.RibbonButton button =
            this.Factory.CreateRibbonButton();
        button.Label = "New Button";
        group1.Items.Add(button);
    }
}

بالنسبة للمشاريع التي تستهدف .NET Framework 3.5, 1. اضف التعليمة البرمجية التالية:

<System.Diagnostics.DebuggerNonUserCode()> _
Public Sub New()
    MyBase.New()

    'This call is required by the Component Designer.
    InitializeComponent()
    If DateTime.Now.Hour > 16 Then
        Group1.Items.Add(New RibbonButton())
        CType(Group1.Items.Last(), RibbonButton).Label = "New Button"
    End If
End Sub
public Ribbon1()
{
    InitializeComponent();
    if (DateTime.Now.Hour > 16)
    {
        group1.Items.Add(new RibbonButton());
        ((RibbonButton)group1.Items.Last()).Label = "New Button";
    }

}

يظهر المُنشئ في ملف التعليمات البرمجية للشريط. في مشاريع Visual C# التي قمت بترقيتها من 2008 Visual Studio

يظهر المُنشئ في ملف التعليمات البرمجية للشريط في مشاريع Visual Basic أو في مشاريع Visual C# التي قمت بإنشائها في 2010 Visual Studio. This file is named YourRibbonItem.Designer.cs or YourRibbonItem.Designer.vb. To see this file in Visual Basic projects, you must first click the Show All Files button in Solution Explorer.

إعداد الخصائص في أسلوب CreateRibbonExtensibilityObject

يمكنك تعيين خصائص أحد عناصر تحكم الشريط عند تجاوز أسلوب CreateRibbonExtensibilityObject في الفئة ThisAddin ، أو ThisWorkbook, أو ThisDocument من المشروع. ولمزيد من المعلومات حول الأسلوب CreateRibbonExtensibilityObject ، راجع نظرة عامة على الشريط.

يقوم المثال التالي بإعداد خصائص الشريط في أسلوب CreateRibbonExtensibilityObject للفئة ThisWorkbook في مشروع مصنف Excel.

بالنسبة للمشاريع التي تستهدف .NET Framework 4 ، اضف التعليمة البرمجية التالية:

Protected Overrides Function CreateRibbonExtensibilityObject() _
    As Microsoft.Office.Core.IRibbonExtensibility
    Dim myCondition As Boolean = True
    If myCondition = True Then
        Dim tempRibbon As New Ribbon1()
        tempRibbon.Tab1.ControlId.ControlIdType = _
            Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office
        tempRibbon.Tab1.ControlId.OfficeId = "TabHome"
        Return Globals.Factory.GetRibbonFactory.CreateRibbonManager _
            (New Microsoft.Office.Tools.Ribbon.IRibbonExtension() {tempRibbon})
    Else
        Dim tempRibbon As New Ribbon2()
        tempRibbon.Tab1.ControlId.ControlIdType = _
            Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office
        tempRibbon.Tab1.ControlId.OfficeId = "TabInsert"
        Return Globals.Factory.GetRibbonFactory.CreateRibbonManager _
            (New Microsoft.Office.Tools.Ribbon.IRibbonExtension() {tempRibbon})
    End If
End Function
protected override Microsoft.Office.Core.IRibbonExtensibility
    CreateRibbonExtensibilityObject()
{
    bool myCondition = false;
    if (myCondition == true)
    {
        Ribbon1 tempRibbon = new Ribbon1();
        tempRibbon.tab1.ControlId.ControlIdType =
            Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
        tempRibbon.tab1.ControlId.OfficeId = "TabHome";
        return Globals.Factory.GetRibbonFactory().CreateRibbonManager( 
            new Microsoft.Office.Tools.Ribbon.IRibbonExtension[]
             { tempRibbon });
    }
    else
    {
        Ribbon2 tempRibbon = new Ribbon2();
        tempRibbon.tab1.ControlId.ControlIdType =
            Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
        tempRibbon.tab1.ControlId.OfficeId = "TabInsert";
        return Globals.Factory.GetRibbonFactory().CreateRibbonManager(
                            new Microsoft.Office.Tools.Ribbon.IRibbonExtension[] { tempRibbon });
    }
}

بالنسبة للمشاريع التي تستهدف .NET Framework 3.5, 1. اضف التعليمة البرمجية التالية:

Protected Overrides Function CreateRibbonExtensibilityObject() _
    As Microsoft.Office.Core.IRibbonExtensibility
    Dim myCondition As Boolean = True
    If myCondition = True Then
        Dim tempRibbon As New Ribbon1()
        tempRibbon.Tab1.ControlId.ControlIdType = _
            Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office
        tempRibbon.Tab1.ControlId.OfficeId = "TabHome"
        Return New Microsoft.Office.Tools.Ribbon.RibbonManager _
            (New Microsoft.Office.Tools.Ribbon.OfficeRibbon() {tempRibbon})
    Else
        Dim tempRibbon As New Ribbon2()
        tempRibbon.Tab1.ControlId.ControlIdType = _
            Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office
        tempRibbon.Tab1.ControlId.OfficeId = "TabInsert"
        Return New Microsoft.Office.Tools.Ribbon.RibbonManager _
            (New Microsoft.Office.Tools.Ribbon.OfficeRibbon() {tempRibbon})
    End If
End Function
protected override Microsoft.Office.Core.IRibbonExtensibility
    CreateRibbonExtensibilityObject()
{
    bool myCondition = true;
    if (myCondition == true)
    {
        Ribbon1 tempRibbon = new Ribbon1();
        tempRibbon.tab1.ControlId.ControlIdType = 
            Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
        tempRibbon.tab1.ControlId.OfficeId = "TabHome";
        return new Microsoft.Office.Tools.Ribbon.RibbonManager(
            new Microsoft.Office.Tools.Ribbon.OfficeRibbon[] 
                { tempRibbon });
    }
    else
    {
        Ribbon2 tempRibbon = new Ribbon2();
        tempRibbon.tab1.ControlId.ControlIdType = 
            Microsoft.Office.Tools.Ribbon.RibbonControlIdType.Office;
        tempRibbon.tab1.ControlId.OfficeId = "TabInsert";
        return new Microsoft.Office.Tools.Ribbon.RibbonManager(
            new Microsoft.Office.Tools.Ribbon.OfficeRibbon[] 
                { tempRibbon });
    }
}

تعيين الخصائص التي تصبح للقراءة فقط

يوضح الجدول التالي الخصائص التي يمكن فقط تعيينها قبل تحميل الشريط.

ملاحظة

يمكنك تعيين خصائص عناصر التحكم علي القوائم الحيوية في أي وقت. لا ينطبق هذا الجدول في هذه الحالة.

الخصائص

فئة تحكم الشريط

نمط المربع (BoxStyle)

RibbonBox

نوع الزر (ButtonType)

RibbonSplitButton

عدد الأعمدة (ColumnCount)

RibbonGallery

معرف عنصر التحكم (ControlId)

RibbonTab

مشغل الحوار (DialogLauncher)

RibbonGroup

ديناميكي

RibbonMenu

عمومي

OfficeRibbon

المجموعات

RibbonTab

اسم الصورة (ImageName)

RibbonButton

RibbonComboBox

RibbonDialogLauncher

RibbonDropDown

RibbonEditBox

RibbonGallery

RibbonMenu

RibbonSplitButton

RibbonToggleButton

حجم العنصر

RibbonMenu

RibbonSplitButton

أقصى طول (MaxLength)

RibbonComboBox

RibbonEditBox

الاسم

RibbonComponent

Position

RibbonButton

RibbonCheckBox

RibbonGallery

RibbonGroup

RibbonMenu

RibbonSeparator

RibbonSplitButton

RibbonTab

RibbonToggleButton

نوع الشريط (RibbonType)

OfficeRibbon

عدد الصفوف (RowCount)

RibbonGallery

إظهار صورة العنصر (ShowItemImage)

RibbonComboBox

RibbonDropDown

RibbonGallery

إظهار تسمية العنصر (ShowItemLabel)

RibbonDropDown

RibbonGallery

إظهار تحديد العنصر (ShowItemSelection)

RibbonGallery

سلسلة الحجم (SizeString)

RibbonComboBox

RibbonDropDown

RibbonEditBox

البدء من الصفر (StartFromScratch)

OfficeRibbon

علامات التبويب

OfficeRibbon

Title

RibbonSeparator

إعداد خصائص الأشرطة التي تظهر في متفحص Outlook

يتم إنشاء مثيل جديد كل مرة يقوم مستخدم بفتح المتفحص الذي يُظهر الشريط. ومع ذلك، يمكنك تعيين الخصائص المسرودة في الجدول أعلاه فقط قبل إنشاء المثيل الأول من "الشريط". بعد إنشاء المثيل الأول, هذه الخصائص تصبح للقراءة فقط لأن المثيل الأول يعرّف ملف XML الذي يستخدمه Outlook لتحميل الشريط.

إذا كان لديك منطق شرطي يعين أي من هذه الخصائص قيمته مختلفة عندما يتم إنشاء المثيلات الأخرى من الشريط, فهذه التعليمة البرمجية لن يكون لها أي تأثير.

ملاحظة

تأكد من أن خاصية الاسم يتم تعيينها لكل عنصر تحكم تقوم بإضافته إلى شريط Outlook. إذا قمت بإضافة عنصر تحكم إلى شريط Outlook في وقت التشغيل يجب عليك تعيين هذه الخاصية في التعليمات البرمجية. إذا قمت بإضافة خاصية إلى شريط Outlook في وقت التصميم ، يتم تعيين الخاصية Name تلقائياً.

أحداث تحكم الشريط

كل فئة تحكم تحتوي على حدث واحد أو أكثر. يصف الجدول التالي هذه الأحداث.

الحدث

الوصف

Click

يحدث عند النقر فوق التحكم.

TextChanged

يحدث عند تغيير نص مربع التحرير والسرد أو مربع التحرير.

ItemsLoading

يحدث عندما تكون مجموعة Items من التحكم مطلوبة من قبل Office. تقوم Office بتخزين مجموعة Items حتى تقوم التعليمات البرمجية الخاصة بك بتغيير خصائص التحكم، أو استدعاء الأسلوب Microsoft.Office.Core.IRibbonUI.InvalidateControl.

ButtonClick

يحدث عند النقر علي زر في RibbonGallery أو RibbonDropDown.

SelectionChanged

يحدث عند تغيير التحديد في RibbonDropDown أو RibbonGallery.

DialogLauncherClick

يحدث عند النقر فوق أيقونة مشغل الحوار في الركن الأيمن السفلي من المجموعة.

يكون لمعالجات الحدث لهذه الأحداث المعلمتين التاليتين.

المعلمة

الوصف

sender

Object الذي يمثل عنصر التحكم الذي رفع الحدث.

e

RibbonControlEventArgs الذي يحتوي على Microsoft.Office.Core.IRibbonControl. استخدم عنصر التحكم هذا للوصول لأي خاصية غير متوفرة في نموذج كائن الشريط الذي يوفره Visual Studio Tools لوقت تشغيل Office.

راجع أيضًا:

المهام

كيفية القيام بما يلي: البدء في تخصيص الشريط

الإرشادات التفصيلية: إنشاء علامة تبويب مخصصة باستخدام مصمم الشريط

الإرشادات التفصيلية: تحديث عناصر التحكم على الشريط في وقت التشغيل‬

كيفية القيام بما يلي: تخصيص تبويب مضمن

كيفية القيام بما يلي: تخصيص قائمة Microsoft Office

كيفية القيام بما يلي: تصدير شريط من مصمم الشريط إلى XML خاص بالشريط

كيفية القيام بما يلي: إظهار أخطاء واجهة مستخدم الوظيفة الإضافية

المرجع

Microsoft.Office.Tools.Ribbon

المبادئ

الوصول إلى الشريط في وقت التشغيل

مصمم الشريط

تخصيص شريط لـ Outlook

موارد أخرى

نظرة عامة على الشريط