كيفية القيام بما يلي: تغيير تخطيط عنصر التحكم DataRepeater (‏‫Visual Studio)

يمكن عرض عنصر التحكم DataRepeater في الاتجاه العمودي (العناصر تمرر عمودياً) أو الأفقي (العناصر تمرر أفقياً) . و يمكنك تغيير الاتجاه في وقت التصميم أو وقت التشغيل عن طريق تغيير خاصية LayoutStyle . و إذا قمت بتغيير خاصية LayoutStyle أثناء وقت التشغيل قد تحتاج أيضاً تغيير حجم ItemTemplate و القيام بإعادة تحديد موضع فرع عناصر التحكم.

ملاحظة

و في حالة تغيير موضع عناصر التحكم في ItemTemplate في وقت التشغيل ستحتاج إلى استدعاء أساليب BeginResetItemTemplate و EndResetItemTemplate في بداية و نهاية كتلة التعليمات البرمجية التي تعيد تحديد موضع عناصر التحكم.

لتغيير التخطيط في وقت التصميم

  1. في مصمم Windows Forms, حدد عنصر التحكم DataRepeater .

    ملاحظة

    و يجب تحديد الحد الخارجي من عنصر التحكم DataRepeater بالنقر في المنطقة السفلية من عنصر التحكم و ليس في الجزء العلوي لمنطقة ItemTemplate .

  2. و في خصائص النافذة, عين خاصية LayoutStyle إما إلى Vertical أو Horizontal.

لتغيير التخطيط في وقت التشغيل

  1. قم بإضافة التعليمات البرمجية إلى زر أو قائمة معالج الحدث Click .

    ' Switch the orientation.
    If DataRepeater1.LayoutStyle =
     PowerPacks.DataRepeaterLayoutStyles.Vertical Then
        DataRepeater1.LayoutStyle =
         PowerPacks.DataRepeaterLayoutStyles.Horizontal
    Else
        DataRepeater1.LayoutStyle =
         PowerPacks.DataRepeaterLayoutStyles.Vertical
    End If
    
    // Switch the orientation.
    if (dataRepeater1.LayoutStyle == DataRepeaterLayoutStyles.Vertical)
    {
        dataRepeater1.LayoutStyle = DataRepeaterLayoutStyles.Horizontal;
    }
    else
    {
        dataRepeater1.LayoutStyle = DataRepeaterLayoutStyles.Vertical;
    }            
    
  2. و في معظم الحالات، ستحتاج إلى إضافة تعليمات برمجية مشابه لتلك المعروضة في مقطع المثال لتغيير حجم ItemTemplate و إعادة ترتيب عناصر التحكم لتناسب الاتجاه الجديد.

مثال

و المثال التالي يوضح كيفية الاستجابة إلى حدث LayoutStyleChanged في معالج الأحداث. و يتطلب هذا المثال وجود عنصر التحكم DataRepeater المسمى DataRepeater1 في نموذج يحتوي ItemTemplate الخاص به عنصري تحكم TextBox المسمى TextBox1 و TextBox2.

Private Sub DataRepeater1_LayoutStyleChanged(ByVal sender As Object,
 ByVal e As System.EventArgs) Handles DataRepeater1.LayoutStyleChanged
    ' Call a method to re-initialize the template.
    DataRepeater1.BeginResetItemTemplate()
    If DataRepeater1.LayoutStyle =
     PowerPacks.DataRepeaterLayoutStyles.Vertical Then
        ' Change the height of the template and rearrange the controls.
        DataRepeater1.ItemTemplate.Height = 150
        DataRepeater1.ItemTemplate.Controls(TextBox1.Name).Location =
         New Point(20, 40)
        DataRepeater1.ItemTemplate.Controls(TextBox2.Name).Location =
         New Point(150, 40)
    Else
        ' Change the width of the template and rearrange the controls.
        DataRepeater1.ItemTemplate.Width = 150
        DataRepeater1.ItemTemplate.Controls(TextBox1.Name).Location =
         New Point(40, 20)
        DataRepeater1.ItemTemplate.Controls(TextBox2.Name).Location =
         New Point(40, 150)
    End If
    ' Apply the changes to the template.
    DataRepeater1.EndResetItemTemplate()
End Sub
private void dataRepeater1_LayoutStyleChanged_1(object sender, EventArgs e)
{
    // Call a method to re-initialize the template.
    dataRepeater1.BeginResetItemTemplate();
    if (dataRepeater1.LayoutStyle == DataRepeaterLayoutStyles.Vertical)
    // Change the height of the template and rearrange the controls.
    {
        dataRepeater1.ItemTemplate.Height = 150;
        dataRepeater1.ItemTemplate.Controls["TextBox1"].Location = new Point(20, 40);
        dataRepeater1.ItemTemplate.Controls["TextBox2"].Location = new Point(150, 40);
    }
    else
    {
        // Change the width of the template and rearrange the controls.
        dataRepeater1.ItemTemplate.Width = 150;
        dataRepeater1.ItemTemplate.Controls["TextBox1"].Location = new Point(40, 20);
        dataRepeater1.ItemTemplate.Controls["TextBox2"].Location = new Point(40, 150);
    }
    // Apply the changes to the template.
    dataRepeater1.EndResetItemTemplate();
}

راجع أيضًا:

المهام

تصحيح أخطاء عنصر التحكم DataRepeater (‏‫Visual Studio)

كيفية القيام بما يلي: تغيير مظهر عنصر تحكم DataRepeater (‏‫Visual Studio)

المرجع

DataRepeater

LayoutStyle

BeginResetItemTemplate

EndResetItemTemplate

المبادئ

مقدمة إلى عنصر التحكم DataRepeater (‏‫Visual Studio)