مشاركة عبر


الإرشادات التفصيلية: تحديث مخطط في مستند باستخدام أزرار تبادلية

ينطبق على

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

نوع المشروع

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

إصدار Microsoft Office

  • Word 2007

  • Word 2010

توضح هذه الإرشادات التفصيلية كيفية استخدام أزرار تبادلية في تخصيص علي مستوي المستند لـ Microsoft Office Word لإعطاء المستخدمين الخيار لتحديد أنماط المخطط البيانى على المستند.

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

  • إضافة مخطط بياني إلى مستند Word في مشروع على مستوى المستند في وقت التصميم.

  • تجميع أزرار الخيارات عن طريق إضافتها إلى عنصر تحكم مستخدم.

  • تغيير نمط المخطط البياني عند تحديد أحد الخيارات.

لرؤية النتيجة كنموذج مكتمل, راجع نموذج عناصر تحكم Word في نماذج تطوير Office وإرشادات تفصيلية.

ملاحظة

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

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

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

-

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

إنشاء المشروع

الخطوة الأولى هي إنشاء مشروع مستند Word.

لإنشاء أحد المشروعات الجديدة

إضافة مخطط بياني إلي المستند

لإضافة مخطط بياني

  1. في مستند Word الذي المستضاف في مصمم Visual Studi ، علي الشريط ، أنقر فوق علامة التبويب إدراج .

  2. في المجموعة **نص،**انقر فوق الزر المنسدل إدراج كائن ، انقر فوق كائن.

    يتم فتح مربع الحوار كائن.

  3. في القائمة نوع الكائن ، على التبويب إنشاء جديد ، حدد مخطط بياني رسومى لـ Microsoft ثم اضغط موافق .

    يتم إضافة تخطيط إلى المستند عند نقطة الإدراج و تظهر النافذة ورقة بيانات مع بعض البيانات الافتراضية.

  4. قم بإغلاق النافذة ورقة بيانات لقبول القيم الافتراضية في المخطط ثم انقر داخل المستند لنقل التركيز بعيداً عن المخطط.

  5. انقر بالزر الأيمن فوق التخطيط ثم انقر فوق تنسيق كائن.

  6. في علامة التبويب تخطيط الخاصة بمربع الحوار تنسيق كائن، حدد مربع و اضغط موافق .

إضافة عنصر تحكم مستخدم إلى المشروع

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

لإضافة عنصر تحكم مستخدم

  1. من مستكشف الحلول, حدد المشروع My Chart Options.

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

  3. في مربع الحوار إضافة عنصر جديد، اضغط عنصر تحكم مستخدم، قم بتسمية عنصر التحكم ChartOptions، ثم انقر فوق إضافة.

لإضافة عناصر تحكم Windows Form إلى عنصر تحكم المستخدم

  1. في حالة عدم ظهور عنصر تحكم المستخدم في المصمم، انقر نقرًا مزدوجًا على ChartOptions في مستكشف الحلول.

  2. من علامة التبويب عناصر تحكم شائعة من صندوق الأدوات، اسحب عنصر تحكم الزر التبادلي الأول إلى عنصر تحكم المستخدم وقم بتغيير الخصائص التالية.

    الخصائص

    Value

    الاسم

    columnChart

    Text

    مخطط عمودي

  3. قم بإضافة ثاني زر تبادلي إلى عنصر تحكم المستخدم وقم بتغيير الخصائص التالية.

    الخصائص

    Value

    الاسم

    barChart

    Text

    مخطط الشريط

  4. قم بإضافة زر تبادلي ثالث إلى عنصر تحكم المستخدم وقم بتغيير الخصائص التالية.

    الخصائص

    Value

    الاسم

    lineChart

    Text

    تخطيط خطي

  5. قم بإضافة زر تبادلي رابع إلى عنصر تحكم المستخدم وقم بتغيير الخصائص التالية.

    الخصائص

    Value

    الاسم

    areaBlockChart

    Text

    تخطيط منطقة

إضافة مراجع

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

لإضافة مرجع إلى تجميع Microsoft.Office.Interop.Graph

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

    يظهر مربع الحوار Add a Script (إضافة برنامج نصي).

  2. في علامة التبويب .NET ، حدد Microsoft.Office.Interop.Graph و انقر فوق موافق . إذا كان المشروع يستهدف Word 2007 ، حدد الإصدار 12.0.0.0 للتجميع; و إذا كان المشروع يستهدف Word 2010 ، حدد الإصدار 14.0.0.0 .

تغيير نمط مخطط عند تحديد زر تبادلي

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

لإنشاء حدث و خاصية على عنصر تحكم مستخدم

  1. في مستكشف الحلول،انقر بزر الماوس الأيمن فوق عنصر تحكم المستخدم ثم انقر فوق عرض التعليمات البرمجية.

  2. قم بإضافة التعليمات البرمجية لإنشاء حدث SelectionChanged و خاصية Selection إلى فئة ChartOptions .

    Public Event SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    
    Private selectedType As Microsoft.Office.Interop.Graph.XlChartType = _
        Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered
    
    Public Property Selection() As Microsoft.Office.Interop.Graph.XlChartType
        Get
            Return Me.selectedType
        End Get
        Set(ByVal value As Microsoft.Office.Interop.Graph.XlChartType)
            Me.selectedType = value
        End Set
    End Property
    
    public event EventHandler SelectionChanged;
    
    private Microsoft.Office.Interop.Graph.XlChartType selectedType =
        Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered;
    
    public Microsoft.Office.Interop.Graph.XlChartType Selection
    {
        get
        {
            return this.selectedType;
        }
        set
        {
            this.selectedType = value;
        }
    }
    

لمعالجة حدث CheckedChange للأزرار التبادلية

  1. قم بتعيين نوع المخطط في معالج الحدث CheckedChanged للزر التبادلي areaBlockChart ثم ارفع الحدث.

    Private Sub areaBlockChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles areaBlockChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
    
            Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlAreaStacked
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void areaBlockChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlAreaStacked;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  2. قم بتعيين نوع المخطط في معالج الحدث CheckedChanged للزر التبادلي barChart .

    Private Sub barChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles barChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
    
            Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlBarClustered
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void barChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlBarClustered;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  3. قم بتعيين نوع المخطط في معالج الحدث CheckedChanged للزر التبادلي columnChart .

    Private Sub columnChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles columnChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
    
            Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void columnChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlColumnClustered;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  4. قم بتعيين نوع المخطط في معالج الحدث CheckedChanged للزر التبادلي lineChart .

    Private Sub lineChart_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
        Handles lineChart.CheckedChanged
    
        If (CType(sender, RadioButton).Checked) Then
            Me.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlLineMarkers
            RaiseEvent SelectionChanged(Me, EventArgs.Empty)
        End If
    End Sub
    
    private void lineChart_CheckedChanged(object sender, EventArgs e)
    {
        if (((RadioButton)sender).Checked)
        {
            this.selectedType = Microsoft.Office.Interop.Graph.XlChartType.xlLineMarkers;
            if (this.SelectionChanged != null)
            {
                this.SelectionChanged(this, EventArgs.Empty);
            }
        }
    }
    
  5. في C# ، يجب عليك إضافة معالجات الأحداث للأزرار التبادلية . يمكنك إضافة التعليمات البرمجية إلى الدالة الإنشائية ChartOptions أسفل استدعاء InitializeComponent. للحصول على معلومات حول إنشاء معالجات أحداث راجع كيفية القيام بما يلي: إنشاء معالجات أحداث في مشاريع Office.

    public ChartOptions()
    {
        InitializeComponent();
    
        areaBlockChart.CheckedChanged += new EventHandler(areaBlockChart_CheckedChanged);
        barChart.CheckedChanged += new EventHandler(barChart_CheckedChanged);
        columnChart.CheckedChanged += new EventHandler(columnChart_CheckedChanged);
        lineChart.CheckedChanged += new EventHandler(lineChart_CheckedChanged);
    }
    

إضافة عنصر تحكم المستخدم إلى المستند

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

لإضافة عنصر تحكم المستخدم إلى المستند

  1. من القائمة Build (إنشاء)، انقر فوق Build Solution (إنشاء الحل).

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

  2. في مستكشف الحلول ، انقر بزر الماوس الأيمن فوق ThisDocument.vb أو ThisDocument.cs ثم انقر فوق عرض المصمم .

  3. اسحب عنصر التحكم ChartOptions من صندوق الأدوات إلى المستند.

    عنصر تحكم جديد باسم ChartOptions1 يتم إضافته إلى المشروع الخاص بك.

تغيير نوع المخطط البياني

قم بإنشاء معالج أحداث لتغيير نوع المخطط البياني استناداً إلى الخيار المحدد في عنصر تحكم المستخدم.

لتغيير نوع المخطط البياني الذي يتم عرضه في المستند

  1. قم بإضافة معالج الأحداث التالي إلي الفئة ThisDocument .

    Private Sub ChartOptions1_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles ChartOptions1.SelectionChanged
    
        Try
            Dim shape As Word.Shape = Me.Shapes.Item(1)
    
            ' Activate the shape.
            shape.Activate()
    
            Dim dataChart As Graph.Chart = CType(shape.OLEFormat.Object, Graph.Chart)
            dataChart.ChartType = Me.ChartOptions1.Selection
    
            ' Deactivate the shape.
            Me.ChartOptions1.Select()
    
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
    
    private void ChartOptions1_SelectionChanged(object sender, EventArgs e)
    {
        try
        {
            object index = 1;
            Word.Shape shape = this.Shapes.get_Item(ref index);
    
            // Activate the shape.
            shape.Activate();
    
            Microsoft.Office.Interop.Graph.Chart dataChart = 
                (Microsoft.Office.Interop.Graph.Chart)shape.OLEFormat.Object;
            dataChart.ChartType = this.ChartOptions1.Selection;
    
            // Deactivate the shape.
            this.ChartOptions1.Select();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    
  2. في C# ، يجب عليك إضافة معالجات الأحداث لعنصر التحكم المستخدم للحدث Startup .

    this.ChartOptions1.SelectionChanged += new EventHandler(ChartOptions1_SelectionChanged);
    

اختبار التطبيق

يمكنك الآن اختبار المستند الخاص بك للتأكد من أن نمط المخطط البيانى تم تحديثه بشكل صحيح عندما تحدد زر تبادلي.

لاختبار مستندك

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

  2. حدد عدة أزرار تبادلية.

  3. تأكد من تغيير نمط المخطط ليتطابق مع التحديد.

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

هذه بعض المهام التي قد تأتي فيما بعد:

راجع أيضًا:

المبادئ

الإرشادات التفصيلية التي تستخدم Word

استخدام عناصر تحكم Windows Forms في مستندات Word

قيود عناصر تحكم Windows Forms على مستندات Office

موارد أخرى

نماذج تطوير Office وإرشادات تفصيلية