Como: Alterar o layout de um controle DataRepeater (Visual Studio)
The DataRepeater controle pode ser exibido em um vertical (itens de rolar vertical) ou o horizontal (itens de rolar horizontal) orientação. Você pode alterar a orientação em time de design ou em time de execução, alterando o LayoutStyle propriedade. Se você alterar o LayoutStyle propriedade em time de execução, você talvez também queira redimensionar o ItemTemplate e reposicionar controles filho.
Observação: |
---|
Se você reposicionar controles na ItemTemplate em time de execução, você precisará chamar o BeginResetItemTemplate e EndResetItemTemplate métodos no início e participante do bloco de código reposiciona os controles. |
Para alterar o layout em time de design
No Designer de Formulários do Windows, selecionar o DataRepeater controle.
Observação: Você deve selecionar a borda externa das DataRepeater controlar, clicando na região de controle, não na parte superior inferior ItemTemplate região.
Na janela Propriedades, conjunto o LayoutStyle propriedade para qualquer um Vertical ou Horizontal.
Para alterar o layout em time de execução
Adicione o seguinte código para um botão ou menu Click manipulador de eventos:
' 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; }
Na maioria dos casos, você desejará adicionar código semelhante ao mostrado na seção exemplo para redimensionar o ItemTemplate e reorganizar os controles para se ajuste à nova orientação.
Exemplo
O exemplo a seguir mostra como responder à LayoutStyleChanged evento em um manipulador de eventos. Este exemplo requer que você tenha um DataRepeater controle de chamada DataRepeater1 em um formulário e que seu ItemTemplate conter dois TextBox controles denominados TextBox1 e 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();
}
Consulte também
Tarefas
Solução de problemas do controle DataRepeater (Visual Studio)
Como: Alterar a aparência de um controle DataRepeater (Visual Studio)
Conceitos
Introdução ao controle DataRepeater (Visual Studio)
Referência
Date |
History |
Motivo |
---|---|---|
Julho de 2008 |
Tópico adicional. |
Alteração de recurso do SP1. |