DataRepeater.LayoutStyleChanged イベント

更新 : 2007 年 11 月

LayoutStyle プロパティの値が変更されると発生します。

名前空間 :  Microsoft.VisualBasic.PowerPacks
アセンブリ :  Microsoft.VisualBasic.PowerPacks.Vs (Microsoft.VisualBasic.PowerPacks.Vs.dll 内)

構文

'宣言
Public Event LayoutStyleChanged As EventHandler
'使用
Dim instance As DataRepeater
Dim handler As EventHandler

AddHandler instance.LayoutStyleChanged, handler
public event EventHandler LayoutStyleChanged
public:
 event EventHandler^ LayoutStyleChanged {
    void add (EventHandler^ value);
    void remove (EventHandler^ value);
}
JScript では、イベントは使用できません。

解説

DataRepeater コントロールの LayoutStyle プロパティによって、DataRepeater 項目が垂直形式で表示されるか水平形式で表示されるかが決まります。このプロパティが変更された場合は、LayoutStyleChanged イベント ハンドラを使用して ItemTemplate 内の子コントロールを再配置して、新しいレイアウトに合わせることができます。

イベントの処理方法の詳細については、「イベントの利用」を参照してください。

イベント ハンドラの中で LayoutStyleChanged イベントに応答する方法を次の例に示します。この例では、DataRepeater1 という名前の DataRepeater コントロールがフォーム上に配置され、TextBox1 および TextBox2 という名前の 2 つの 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 クラス

DataRepeater メンバ

Microsoft.VisualBasic.PowerPacks 名前空間

LayoutStyle

その他の技術情報

DataRepeater コントロールの概要 (Visual Studio)

方法 : DataRepeater コントロールのレイアウトを変更する (Visual Studio)