مشاركة عبر


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

ينطبق على

تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات 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

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

المثال يسحب البيانات من قاعدة بيانات نموذج Northwind لملء مربع التحرير والسرد والقائمة في Microsoft Office Outlook. العناصر التي قمت باختيارها في عناصر التحكم هذه، تقوم تلقائياً بتعبئة حقول مثل " إلى و الموضوع في رسالة بريد إلكتروني.

توضح هذه الإرشادات التفصيلية المهام التالية:

  • إنشاء مشروع وظيفة Outlook إضافية جديدة.

  • تصميم مجموعة الشريط. المخصصة

  • إضافة المجموعة المخصصة إلى تبويب مضمن.

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

ملاحظة

قد يعرض جهاز الكمبيوتر الخاص بك أسماء أو مواقع مختلفة لبعض عناصر واجهة مستخدم Visual Studio في الإرشادات التالية. يحدد كل من إصدار Visual Studio لديك والإعدادات المستخدمة هذه العناصر. لمزيد من المعلومات، راجع العمل مع إعدادات.

المتطلبات الأساسية

تحتاج إلى المكونات التالية لاستكمال هذه الإرشادات التفصيلية:

-

إصدار لـ Visual Studio 2010 يشمل أدوات مطوري Microsoft Office. لمزيد من المعلومات، راجع [تكوين كمبيوتر لتطوير حلول Office](bb398242\(v=vs.100\).md).
  • Microsoft Office Outlook 2007 أو Microsoft Outlook 2010. 

إنشاء مشروع وظيفة Outlook إضافية جديد.

أولاً، قم بإنشاء مشروع وظيفة Outlook الإضافية.

لإنشاء مشروع وظيفة Outlook إضافية جديد.

  1. وهذا ملف يسمى من Visual StudioYourRibbonItem. مصمم.cs أو من YourRibbonItem. مصمم.vb.Outlook 2010

  2. في مربع الحوار مشروع جديد، حدد إنشاء دليل للحل.

  3. احفظ المشروع إلى دليل المشروع الافتراضي.

    لمزيد من المعلومات، راجع كيفية القيام بما يلي: إنشاء مشاريع Office في Visual Studio.

تصميم مجموعة الشريط. المخصصة

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

لتصميم مجموعة مخصصة

  1. في مشروع قائمة ، انقر فوق إضافة عنصر جديد .

  2. في مربع الحوار أضف عنصر جديد ، حدد الشريط (مصمم مرئى) .

  3. قم بتغيير اسم الشريط الجديد إلى ManageTaskPaneRibbonثم انقر فوق أضف .

    CustomerRibbon.cs أو ملف CustomerRibbon.vb يفتح في "مصمم الشريط" ويعرض علامة التبويب والمجموعة الافتراضيين.

  4. انقر فوق "مصمم الشريط" لتحديده.

  5. في النافذة خصائص، انقر فوق السهم المنسدل بجانب الخاصية RibbonType، ثم انقر فوق Microsoft.Outlook.Mail.Compose.

    وهذا يمكّن الشريط من الظهور عندما يقوم المستخدم بكتابة رسالة بريد إلكتروني جديدة في Outlook.

  6. في "مصمم" الشريط "، انقر فوق شريط ManageTaskPaneRibbon لاختياره

  7. In the Properties window, set Label to Customer Purchases.

  8. من علامة التبويب عناصر التحكم في شريط Office فى مربع الأدوات ، اسحب مربع تحرير وسرد إلى المجموعة مشتريات العميل.

  9. انقر فوق مربع تحرير و سرد لتحديده.

  10. In the Properties window, set Label to Customers.

  11. من علامة التبويب عناصر شريط Office Toolbox، اسحب قائمة المجموعة مشتريات العملاء.

  12. In the Properties window, set Label to Product Purchased.

  13. عيّن ديناميكي إلى true.

    يمكّنك هذا من إضافة وإزالة عناصر التحكم من القائمة في وقت التشغيل بعد تحميل الشريط إلى تطبيق Office.

إضافة المجموعة المخصصة إلى تبويب مضمن.

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

إضافة المجموعة المخصصة إلى تبويب مضمن.

  1. انقر فوق علامة التبويب TabAddins (مضمن) لتحددها.

  2. In the Properties window, expand the ControlId property, and then set OfficeId to TabNewMailMessage.

    هذا يضيف المجموعة مشتريات العملاء لعلامة التبويب الرسائل من "الشريط" الذي يظهر في رسالة بريد جديدة.

  3. انقر فوق المجموعة مشتريات العميل لتحديدها.

  4. في نافذة الخصائص، قم بتوسيع الخاصية الموضع ، انقر فوق السهم المنسدل بجانب الخاصية PositionType، ثم انقر فوق BeforeOfficeId.

  5. لا تدعم التتم الآن الترقية Microsoft المكتب مشاريع التي تم إنشاؤها بواسطة.

    هذا يضع المجموعة مشتريات العملاء قبل المجموعة الحافظة الخاصة بعلامة التبويب الرسائل.

إنشاء مصدر البيانات

قم باستخدام النافذة مصادر البيانات لتضيف مجموعة بيانات مكتوبة إلى مشروعك.

لإنشاء مصدر بيانات

  1. في قائمة البيانات ,انقر فوق إضافة مصدر بيانات جديد.

    يؤدي هذا إلى تشغيل معالج تكوين مصدر البيانات .

  2. حدد قاعدة البيانات ثم انقر فوق التالي .

  3. حدد مجموعة البياناتثم انقر فوق التالي .

  4. قم بتحديد اتصال بيانات إلى قاعدة بيانات Microsoft SQL Server Compact 3.5 نموذج Northwind أو إضافة اتصال جديد باستخدام زر اتصال جديد.

  5. بعد تحديد أو إنشاء اتصال، انقر فوق التالي.

  6. انقر فوق التالي لحفظ سلسلة الاتصال.

  7. علي الصفحة اختيار كائنات قاعدة البيانات الخاصة بك، قم بتوسيع الجداول.

  8. حدد خانة الاختيار التالية لكل من الجداول التالية:

    1. العملاء

    2. تفاصيل الطلبات

    3. الطلبات

    4. المنتجات

  9. انقر فوق Finish.

تحديث عناصر التحكم في المجموعة المخصصة في وقت التشغيل

استخدم نموذج كائن الشريط لتنفيذ المهام التالية:

  • إضافة أسماء العملاء إلى مربع التحرير و السرد العملاء.

  • قم بإضافة قائمة و أزرار التحكم إلى القائمة المنتجات المشتراه التي تمثل طلبات المبيعات والمنتجات.

  • املأ الحقول To ، و Subject ، و Body الخاصة برسائل البريد الجديدة باستخدام البيانات من مربع التحرير والسرد العملاء والقائمة المنتجات المشتراه .

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

  1. في قائمة المشروع انقر فوق إضافة مرجع .

  2. في مربع الحوار إضافة مرجع، انقر فوق علامة التبويب .NET ، حدد التجميع System.Data.Linq ثم انقر فوق موافق .

    يحتوي هذا التجميع على فئات لاستخدام الاستعلامات المتكاملة اللغة (LINQ). ستستخدم LINQ لتعبئة عناصر التحكم في المجموعة المخصصة بالبيانات من قاعدة بيانات Northwind.

  3. في مستكشف الحلول ، انقر فوق CustomerRibbon.cs أو CustomerRibbon.vb لتحديده.

  4. في القائمة عرض، انقر فوق تعليمات برمجية.

    ملف التعليمة البرمجية للشريط يفتح في محرر التعليمة البرمجية.

  5. قم بإضافة العبارات التالية لأعلى ملف التعليمة البرمجية للشريط. هذه العبارات توفر إمكانية وصول سهلة إلى مساحات الأسماء LINQ و مساحة اسم تجميع التوافق الأساسي (PIA) Outlook.

    Imports System.Data.Linq
    Imports System.Linq
    Imports System.Data.Linq.Mapping
    Imports System.Linq.Expressions
    Imports Outlook = Microsoft.Office.Interop.Outlook
    Imports Ribbon_Update_At_Runtime.NorthwindDataSetTableAdapters
    
    using System.Data.Linq;
    using System.Linq;
    using System.Data.Linq.Mapping;
    using System.Linq.Expressions;
    using Outlook = Microsoft.Office.Interop.Outlook;
    using System.Data;
    using System.IO;
    using Ribbon_Update_At_Runtime.NorthwindDataSetTableAdapters;
    
  6. أضف التعليمة البرمجية التالية داخل الفئة CustomerRibbon. تقوم هذه التعليمة البرمجية بالتصريح بجدول البيانات ومحولات الجدول الذي سوف تستخدمه لتخزين معلومات من العملاء ، و الطلبات، و تفاصيل الطلبات، وجداول المنتج الخاصة بقاعدة بيانات Northwind.

        'Declare the Northwind data set.
    
        Dim nwDataSet As NorthwindDataSet = New NorthwindDataSet()
    
        'Declare the data tables.
    
        Dim customerTable As NorthwindDataSet.CustomersDataTable
        Dim orderTable As NorthwindDataSet.OrdersDataTable
        Dim orderDetailsTable As NorthwindDataSet.Order_DetailsDataTable
        Dim productsTable As NorthwindDataSet.ProductsDataTable
    
        'Declare the data table adapters for each table.
    
        Dim customersTableAdapter As CustomersTableAdapter = New CustomersTableAdapter()
        Dim ordersTableAdapter As OrdersTableAdapter = New OrdersTableAdapter()
        Dim detailsTableAdapter As Order_DetailsTableAdapter = New Order_DetailsTableAdapter()
        Dim productsTableAdapter As ProductsTableAdapter = New ProductsTableAdapter()
    
    
    //Declare the Northwind dataset.
    NorthwindDataSet nwDataSet = new NorthwindDataSet();
    
    //Declare the data tables.
    
    NorthwindDataSet.CustomersDataTable customerTable;
    NorthwindDataSet.OrdersDataTable orderTable;
    NorthwindDataSet.Order_DetailsDataTable orderDetailsTable;
    NorthwindDataSet.ProductsDataTable productsTable;
    
    //Declare the data table adapters for each table.
    
    CustomersTableAdapter customerTableAdapter = new CustomersTableAdapter();
    OrdersTableAdapter ordersTableAdapter = new OrdersTableAdapter();
    Order_DetailsTableAdapter detailsTableAdapter = new Order_DetailsTableAdapter();
    ProductsTableAdapter productsTableAdapter = new ProductsTableAdapter();
    
  7. أضف واحدا من كتل التعليمة البرمجية التالية إلى الفئة CustomerRibbon. تعمل هذه التعليمة البرمجية على إضافة ثلاثة أساليب مساعدة تقوم بإنشاء عناصر التحكم للشريط في وقت التشغيل.

    إذا كان مشروعك يستهدف .NET Framework 4 ، أضف التعليمة البرمجية التالية.

    
    Private Function CreateRibbonDropDownItem() As RibbonDropDownItem
        Return Me.Factory.CreateRibbonDropDownItem()
    End Function
    
    Private Function CreateRibbonMenu() As RibbonMenu
        Return Me.Factory.CreateRibbonMenu()
    End Function
    
    Private Function CreateRibbonButton() As RibbonButton
        Dim button As RibbonButton = Me.Factory.CreateRibbonButton()
        AddHandler (button.Click), AddressOf Button_Click
        Return button
    End Function
    
    private RibbonDropDownItem CreateRibbonDropDownItem()
    {
        return this.Factory.CreateRibbonDropDownItem();
    }
    private RibbonMenu CreateRibbonMenu()
    {
        return this.Factory.CreateRibbonMenu();
    }
    private RibbonButton CreateRibbonButton()
    {
        RibbonButton button = this.Factory.CreateRibbonButton();
        button.Click += new RibbonControlEventHandler(button_Click);
        return button;
    }
    

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

    
    Private Function CreateRibbonDropDownItem() As RibbonDropDownItem
        Return New RibbonDropDownItem()
    End Function
    
    Private Function CreateRibbonMenu() As RibbonMenu
        Return New RibbonMenu()
    End Function
    
    Private Function CreateRibbonButton() As RibbonButton
        Dim button As RibbonButton = New RibbonButton()
        AddHandler (button.Click), AddressOf Button_Click
        Return button
    End Function
    
    private RibbonDropDownItem CreateRibbonDropDownItem()
    {
        return new RibbonDropDownItem();
    }
    private RibbonMenu CreateRibbonMenu()
    {
        return new RibbonMenu();
    }
    private RibbonButton CreateRibbonButton()
    {
        RibbonButton button = new RibbonButton();
        button.Click += new EventHandler<RibbonControlEventArgs>(button_Click);
        return button;
    }
    
  8. قم باستبدال معالج الأحداث CustomerRibbon_Load بالتعليمة البرمجية التالية. تستخدم هذه التعليمة البرمجية الاستعلام LINQ لتنفيذ المهام التالية:

    • تعبئة مربع التحرير والسرد العملاء باستخدام المعرّف و اسم 20 من العملاء في قاعدة بيانات Northwind.

    • يستدعي الأسلوب المساعد PopulateSalesOrderInfo. هذا الأسلوب يقوم بتحديث القائمة ProductsPurchased بأرقام ترتيب المبيعات التي تتعلق بالعميل المحدد حالياً.

        Private Sub CustomerRibbon_Load(ByVal sender As System.Object, _
       ByVal e As Microsoft.Office.Tools.Ribbon.RibbonUIEventArgs) _
           Handles MyBase.Load
    
            customerTable = nwDataSet.Customers
            customersTableAdapter.Fill(customerTable)
    
            Dim customerQuery = From customers In customerTable.AsEnumerable.Take(20) _
                    Select CustomerID = customers.Customer_ID, _
                    CustomerName = customers.Contact_Name
    
            ' Execute the query.
            For Each item In customerQuery
                Me.ComboBox1.Items.Add(CreateRibbonDropDownItem())
    
                Me.ComboBox1.Items.Last().Label = item.CustomerID.ToString() _
                    + "|" + item.CustomerName
            Next item
    
            Me.ComboBox1.Text = Me.ComboBox1.Items.First().Label
            PopulateSalesOrderInfo()
        End Sub
    
    
    private void CustomerRibbon_Load(object sender, RibbonUIEventArgs e)
    {
        customerTable = nwDataSet.Customers;
        customerTableAdapter.Fill(customerTable);
    
        var customerQuery = from customers in customerTable.AsEnumerable().Take(20)
                            select new
                            {
                                CustomerID = customers.Field<string>("Customer ID"),
                                CustomerName = customers.Field<string>("Contact Name")
                            };
    
    
        // Execute the query.
        foreach (var item in customerQuery)
        {
            this.comboBox1.Items.Add(CreateRibbonDropDownItem());
            this.comboBox1.Items.Last().Label =
            item.CustomerName + "|" + item.CustomerID.ToString();
        }
        this.comboBox1.Text = this.comboBox1.Items.First().Label;
        PopulateSalesOrderInfo();
    }
    
  9. قم بإضافة التعليمات البرمجية التالية إلى فئة CustomerRibbon . تستخدم هذه التعليمة البرمجية الاستعلام LINQ لتنفيذ المهام التالية:

    • تضيف قائمة فرعية إلى القائمة ProductsPurchased لكل ترتيب مبيعات متعلق بالعميل المحدد.

    • إضافة أزرار إلى القائمة الفرعية لكل المنتجات المتعلقة بترتيب المبيعات.

    • إضافة معالجات الحدث إلى كل زر.

    Private Sub PopulateSalesOrderInfo()
    
        Dim tempArray As [String]() = comboBox1.Text.Split(New [Char]() {"|"c})
        Menu1.Items.Clear()
    
        orderTable = nwDataSet.Orders
        orderDetailsTable = nwDataSet.Order_Details
        productsTable = nwDataSet.Products
    
        ordersTableAdapter.Fill(orderTable)
        detailsTableAdapter.Fill(orderDetailsTable)
        productsTableAdapter.Fill(productsTable)
    
        Dim orderQuery = From order In orderTable.AsEnumerable() _
                         Where order.Customer_ID.ToString() = tempArray(0) _
                         Select New With {.SalesOrderID = order.Order_ID}
    
        For Each orderItem In orderQuery
            Me.Menu1.Items.Add(CreateRibbonMenu())
    
            Dim orderMenu As RibbonMenu = CType(Menu1.Items.Last(), RibbonMenu)
            orderMenu.Dynamic = True
            orderMenu.Label = orderItem.SalesOrderID.ToString()
            orderMenu.Tag = orderItem.SalesOrderID
    
            Dim productQuery = From orderDetail In orderDetailsTable.AsEnumerable(), _
                                   product In productsTable.AsEnumerable() _
                               Where orderDetail.Product_ID = _
                                   product.Product_ID _
                               And orderDetail.Order_ID = _
                               orderMenu.Tag _
            Select productName = product.Product_Name
    
            For Each productItem In productQuery
                Dim button As RibbonButton = CreateRibbonButton()
                button.Label = productItem
                orderMenu.Items.Add(button)
            Next productItem
        Next orderItem
    End Sub
    
    private void PopulateSalesOrderInfo()
    {
        String[] tempArray = comboBox1.Text.Split(new Char[] { '|' });
        menu1.Items.Clear();
    
        orderTable = nwDataSet.Orders;
        orderDetailsTable = nwDataSet.Order_Details;
        productsTable = nwDataSet.Products;
    
        ordersTableAdapter.Fill(orderTable);
        detailsTableAdapter.Fill(orderDetailsTable);
        productsTableAdapter.Fill(productsTable);
    
        var orderQuery = from orders in orderTable.AsEnumerable()
                         where orders.Field<string>("Customer ID") == tempArray[1]
                         select new { OrderID = orders.Field<int>("Order ID") };
    
        foreach (var orderItem in orderQuery)
        {
            menu1.Items.Add(CreateRibbonMenu());
    
            RibbonMenu orderMenu = (RibbonMenu)menu1.Items.Last();
            orderMenu.Dynamic = true;
            orderMenu.Label = orderItem.OrderID.ToString();
            orderMenu.Tag = orderItem.OrderID;
    
            var productQuery = from orderDetail in orderDetailsTable.AsEnumerable()
                               join product in productsTable.AsEnumerable() on
                                   orderDetail.Field<int>("Product ID")
                               equals product.Field<int>("Product ID")
                               where orderDetail.Field<int>("Order ID") ==
                                   orderItem.OrderID
                               select new { ProductName = product.Field<string>("Product Name") };
    
            foreach (var productItem in productQuery)
            {
                RibbonButton button = CreateRibbonButton();
                button.Label = productItem.ProductName;
                orderMenu.Items.Add(button);
            }
        }
    }
    
  10. في مستكشف الحلول ،‏‫انقر نقرا مزدوجاً علي ملف التعليمة البرمجية للشريط.

    مصمم الشريط يفتح.

  11. في مصمم الشريط، انقر نقرا مزدوجاً فوق مربع التحرير و السرد ManageTaskPaneRibbon

    ملف التعليمة البرمجية للشريط يفتح في محرر التعليمة البرمجية و يظهر معالج الأحداث ComboBox1_TextChanged.

  12. قم باستبدال معالج الأحداث ComboBox1_TextChanged بالتعليمات البرمجية التالية. هذه التعليمة البرمجية تقوم بتنفيذ المهام التالية:

    • يستدعي الأسلوب المساعد PopulateSalesOrderInfo. هذا الأسلوب يقوم بتحديث القائمة المنتجات المشتراه مع طلبات المبيعات التي تتعلق بعميل محدد.

    • يستدعي الأسلوب المساعد PopulateMailItem و يمرر له النص الحالي وهو اسم العميل المحدد. يملأ هذا الأسلوب الحقول To ، و Subject ، و Body الخاصة برسائل البريد الجديدة.

    Private Sub ComboBox1_TextChanged(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) _
            Handles ComboBox1.TextChanged
        PopulateSalesOrderInfo()
        PopulateMailItem(ComboBox1.Text)
    End Sub
    
    private void comboBox1_TextChanged(object sender,
        RibbonControlEventArgs e)
    {
        PopulateSalesOrderInfo();
        PopulateMailItem(comboBox1.Text);
    }
    
  13. قم بإضافة معالج حدث النقر التالي إلى الفئة CustomerRibbon. تعمل هذه التعليمة البرمجية على إضافة اسم المنتجات المحددة للحقل Body من رسائل البريد الجديد.

    Private Sub Button_Click(ByVal sender As System.Object, _
        ByVal e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs)
        Dim application As Outlook.Application = Globals.ThisAddIn.Application
        Dim inspector As Outlook.Inspector = application.ActiveInspector()
        Dim myMailItem As Outlook.MailItem = CType(inspector.CurrentItem,  _
            Outlook.MailItem)
        Dim myButton As RibbonButton = CType(sender, RibbonButton)
        myMailItem.Subject = "Following up on your order"
        myMailItem.Body = myMailItem.Body + ControlChars.Lf + "* " _
            + myButton.Label
    End Sub
    
    void button_Click(object sender, RibbonControlEventArgs e)
    {
        Outlook.Application application = Globals.ThisAddIn.Application;
        Outlook.Inspector inspector = application.ActiveInspector();
        Outlook.MailItem myMailItem = (Outlook.MailItem)inspector.CurrentItem;
        RibbonButton myCheckBox = (RibbonButton)sender;
        myMailItem.Subject = "Following up on your order";
        myMailItem.Body = myMailItem.Body + "\n" + "* " + myCheckBox.Label;
    }
    
  14. قم بإضافة التعليمات البرمجية التالية إلى فئة CustomerRibbon . هذه التعليمة البرمجية تقوم بتنفيذ المهام التالية:

    • ملء السطر To من رسائل البريد الجديدة باستخدام عنوان البريد الإلكتروني للعميل المحدد حالياً.

    • إضافة نص إلى حقول Subject و Body من رسائل البريد الجديدة.

    Private Sub PopulateMailItem(ByVal addressToLine As String)
        Dim application As Outlook.Application = Globals.ThisAddIn.Application
        Dim inspector As Outlook.Inspector = application.ActiveInspector()
        Dim myMailItem As Outlook.MailItem = _
            CType(inspector.CurrentItem, Outlook.MailItem)
    
        myMailItem.To = ""
        Dim tempArray As [String]() = addressToLine.Split(New [Char]() {"|"c})
        myMailItem.To = tempArray(1) + "@example.com"
        myMailItem.Subject = "Following up on your order"
        myMailItem.Body = "Hello " + tempArray(1) + "," _
            + ControlChars.Lf + "We would like to get your feedback" + _
            "on the following products that you recently ordered: "
    End Sub
    
    private void PopulateMailItem(string addressToLine)
    {
        Outlook.Application application = Globals.ThisAddIn.Application;
        Outlook.Inspector inspector = application.ActiveInspector();
        Outlook.MailItem myMailItem = (Outlook.MailItem)inspector.CurrentItem;
    
        myMailItem.To = "";
        String[] tempArray = addressToLine.Split(new Char[] { '|' });
        myMailItem.To = tempArray[0] + "@example.com";
        myMailItem.Subject = "Following up on your order";
        myMailItem.Body = "Hello " + tempArray[0] + "," +
            "\n" + "We would like to get your feedback on the " +
            "following products that you recently ordered: ";
    }
    

اختبار عناصر التحكم في المجموعة المخصصة

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

لإنشاء رسالة البريد الإلكتروني المتابعة للعميل, حدد عميل ، ثم حدد المنتجات التي تم شراؤها بواسطة العميل. عناصر التحكم في مجموعة مشتريات العملاء يتم تحديثها في وقت التشغيل مع البيانات من قاعدة بيانات Northwind.

لاختبار عناصر التحكم في المجموعة المخصصة

  1. اضغط F5 لتشغيل مشروعك.

    Outlook يبدأ.

  2. في Outlook، من القائمة ملف، أشر إلى جديد ، ثم انقر فوق رسالة بريد .

    تحدث الإجراءات التالية:

    • تظهر نافذة متفحص رسالة بريد جديدة.

    • ضمن علامة التبويب رسالة من الشريط، تظهر المجموعة مشتريات العميل قبل مجموعة الحافظة.

    • يتم تحديث مربع التحرير والسرد العملاء في المجموعة بأسماء العملاء في قاعدة بيانات Northwind.

  3. ضمن علامة التبويب رسالة من الشريط، في المجموعة مشتريات العملاء ، حدد أحد العملاء من مربع التحرير والسرد العملاء.

    تحدث الإجراءات التالية:

    • قائمة المنتجات المشتراه يتم تحديثها لإظهار كل ترتيب المبيعات للعميل المحدد.

    • يتم تحديث القائمة الفرعية لترتيب المبيعات لإظهار المنتجات المشتراه بنفس الترتيب.

    • يتم إضافة عنوان البريد الإلكتروني الخاص بالعميل المختار إلى السطر To من رسالة البريد ويتم تعبئة النص الأساسي و الموضوع لرسالة البريد.

  4. انقر فوق القائمة مشتريات المنتجات، أشر إلى أي ترتيب مبيعات، ثم انقر فوق منتج من ترتيب المبيعات.

    اسم المنتج يتم إضافته إلى نص رسالة البريد.

الخطوات التالية

يمكنك معرفة المزيد حول كيفية تخصيص واجهة مستخدم Office من هذه المواضيع:

راجع أيضًا:

المهام

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

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

كيفية القيام بما يلي: تغيير ترتيب علامات التبويب على "الشريط"

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

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

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

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

المبادئ

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

مصمم الشريط

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

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

موارد أخرى

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

مجموعة ميزات Language-Integrated Query (LINQ)