共用方式為


HOW TO:變更 DataRepeater 控制項的配置 (Visual Studio)

更新: 2008 年 7 月

DataRepeater 控制項的顯示可以是縱向 (垂直捲動項目) 或橫向 (水平捲動項目)。只要變更 LayoutStyle 屬性,就能在設計階段或執行階段變更顯示方向。如果您在執行階段變更 LayoutStyle 屬性,可能也會想要調整 ItemTemplate 的大小,以及調整子控制項的位置。

注意事項:

如果您在執行階段時在 ItemTemplate 上調整控制項的位置,則必須於重新定位控制項的程式碼區塊開頭及結尾處呼叫 BeginResetItemTemplateEndResetItemTemplate 方法。

若要在設計階段變更配置

  1. 在 [Windows Form 設計工具] 中,選取 DataRepeater 控制項。

    注意事項:

    您必須選取 DataRepeater 控制項的外框,方法是按一下該控制項的下方區域,而非上方 ItemTemplate 區域。

  2. 在 [屬性] 視窗中,將 LayoutStyle 屬性設定為 VerticalHorizontal

若要在執行階段變更配置

  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 事件。這個範例要求您的表單上必須有一個名為 DataRepeater1 的 DataRepeater 控制項,而且其 ItemTemplate 包含兩個名為 TextBox1 和 TextBox2 的 TextBox 控制項。

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)

HOW TO:變更 DataRepeater 控制項的外觀 (Visual Studio)

概念

DataRepeater 控制項簡介 (Visual Studio)

參考

DataRepeater

LayoutStyle

BeginResetItemTemplate

EndResetItemTemplate

變更記錄

日期

記錄

原因

2008 年 7 月

加入主題。

SP1 功能變更。