O controle de servidor Web Panel fornece um controle de contêiner em uma página da Web ASP.NET que você pode usar como pai para texto estático e outros controles.
1. Antecedentes
Você pode usar um controle Panel como contêiner para outros controles. Este método é especialmente útil quando você está criando conteúdo de forma programática e precisa de uma maneira de inserir o conteúdo na página. As seções a seguir descrevem outras maneiras de usar o controle Panel.
1. Contêiner de controles gerados dinamicamente
O controle Panel fornece um contêiner conveniente para controles criados em tempo de execução.
2. Controles e marcadores de grupo
Um grupo de controles e tags relacionadas podem ser gerenciados como uma unidade, colocando-os em um controle Panel e, em seguida, manipulando o controle Panel. Por exemplo, você pode ocultar ou mostrar um grupo de controles em um painel definindo a propriedade Visível do painel.
3. Um formulário com botões padrão
Você pode colocar o controle TextBox e o controle Button em um controle Panel e, em seguida, definir um botão padrão definindo a propriedade DefaultButton do controle Panel como a ID de um botão no painel. Se o usuário pressionar Enter enquanto digita em uma caixa de texto no painel, isso terá o mesmo efeito como se o usuário clicasse em um botão padrão específico. Isso ajuda os usuários a trabalhar com formulários de projeto de forma mais eficiente.
4. Adicione barras de rolagem a outros controles
Alguns controles (como o controle TreeView) não possuem barras de rolagem internas. Você pode adicionar comportamento de rolagem colocando um controle de barra de rolagem em um controle Panel. Para adicionar barras de rolagem a um controle Panel, defina as propriedades Height e Width, restrinja o controle Panel a um tamanho específico e defina a propriedade ScrollBars.
4. Áreas personalizadas na página
Você pode usar o controle Painel para criar áreas na página com aparência e comportamento personalizados, como segue:
·Crie uma caixa de grupo com um título: Você pode definir a propriedade GroupingText para exibir o título. Quando a página é renderizada, uma caixa contendo um título aparece ao redor do controle Panel, sendo o título o texto que você especificar.
Nota: Você não pode especificar barras de rolagem e texto agrupado ao mesmo tempo no controle Painel. Se o texto agrupado estiver definido, sua prioridade será maior que a barra de rolagem.
·Criar áreas na página com cores personalizadas ou outras aparências: O controle Panel suporta propriedades de aparência (como BackColor e BorderWidth), que podem ser definidas para criar uma aparência exclusiva para uma área na página.
Descrição: definir a propriedade GroupingText renderizará automaticamente uma borda ao redor do controle Panel.
2. Como: Adicionar um controle Panel a uma página de Web Forms
1. Na visualização "Design", na guia "Padrão" da caixa de ferramentas, arraste o controle Painel para a página.
2. Para criar texto estático, clique no controle e digite o texto. Para adicionar controles, arraste-os da Caixa de Ferramentas para o controle Painel.
Nota: Para adicionar texto estático a um controle Panel em tempo de execução, você precisa criar um controle Literal e definir sua propriedade Text. Objetos literais podem então ser adicionados ao painel programaticamente da mesma maneira que qualquer controle. Para obter mais informações sobre como adicionar controles, consulte Como adicionar controles programaticamente a uma página da Web ASP.NET.
3. Você também pode optar por arrastar a borda do painel para redimensionar o controle.
Descrição: Este controle se redimensiona automaticamente para exibir todos os seus controles filhos (mesmo que excedam a altura definida).
4. Você também pode optar por definir as propriedades do controle Panel (conforme descrito na tabela a seguir) para especificar como o painel interage com seus controles filho.
Descrição da propriedade
Alinhamento horizontal
Especifica o alinhamento dos controles secundários no painel (esquerda, direita, centralizado ou justificado).
Enrolar
Especifica se o conteúdo muito largo no painel será quebrado na próxima linha ou truncado na borda do painel.
Direção
Especifica se o conteúdo do controle é renderizado da esquerda para a direita ou da direita para a esquerda. Esta propriedade é útil ao criar áreas na página que são orientadas de forma diferente da página inteira.
Barras de rolagem
Se você definiu as propriedades Height e Width para limitar o controle Panel a um tamanho específico, poderá adicionar barras de rolagem definindo a propriedade ScrollBars.
AgrupamentoTexto
Renderiza uma borda e um título ao redor do controle Panel.
ilustrar:
Definir a propriedade GroupingText faz com que as barras de rolagem não apareçam (se você especificar barras de rolagem).
3. Aula de painel
Os controles do painel são contêineres para outros controles. Esse controle é especialmente útil quando você deseja gerar controles programaticamente, ocultar/mostrar um conjunto de controles ou localizar um conjunto de controles.
A propriedade Direction é útil para localizar o conteúdo de um controle Panel para exibir texto em idiomas escritos da direita para a esquerda, como árabe ou hebraico.
O controle Panel fornece diversas propriedades que permitem personalizar o comportamento e a exibição do conteúdo do controle. Use a propriedade BackImageUrl para exibir uma imagem personalizada para o controle Panel. Use a propriedade ScrollBars para especificar barras de rolagem para o controle.
Exemplo
1. O exemplo a seguir ilustra como usar o controle Panel para gerar controles programaticamente e ocultar/mostrar um grupo de controles.
Observação: o exemplo de código a seguir usa um modelo de código de arquivo único e pode não funcionar corretamente quando copiado diretamente para um arquivo code-behind. Este exemplo de código deve ser copiado em um arquivo de texto vazio com extensão .aspx.
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html>
<cabeça>
<title>Exemplo de painel</title>
<script runat="servidor">
void Page_Load(Remetente do objeto, EventArgs e) {
//Mostra ou oculta o conteúdo do Painel.
if (Check1.Checked) {
Painel1.Visível=falso;
}
outro {
Painel1.Visível=true;
}
//Gera os controles Label.
int numlabels = Int32.Parse(DropDown1.SelectedItem.Value);
for (int i=1; i<=numlabels; i++) {
Rótulo l = novo Rótulo();
l.Text = "Rótulo" + (i).ToString();
l.ID = "Rótulo" + (i).ToString();
Painel1.Controls.Add(l);
Panel1.Controls.Add(new LiteralControl("<br />"));
}
//Gera os controles Textbox.
int numtextos = Int32.Parse(DropDown2.SelectedItem.Value);
for (int i=1; i<=numtextos; i++) {
TextBox t = new TextBox();
t.Text = "TextBox" + (i).ToString();
t.ID = "TextBox" + (i).ToString();
Painel1.Controls.Add(t);
Panel1.Controls.Add(new LiteralControl("<br />"));
}
}
</script>
</head>
<corpo>
<h3>Exemplo de painel</h3>
<form id="form1" runat="servidor">
<asp:Panel id="Panel1" runat="servidor"
BackColor="gainsboro"
Altura = "200px"
Largura="300px">
Painel1: Aqui está algum conteúdo estático...
<br />
</asp:Painel>
<br />
Gerar rótulos:
<asp:DropDownList id="DropDown1" runat="servidor">
<asp:ListItem Value="0">0</asp:ListItem>
<asp:ListItem Value="1">1</asp:ListItem>
<asp:ListItem Value="2">2</asp:ListItem>
<asp:ListItem Value="3">3</asp:ListItem>
<asp:ListItem Value="4">4</asp:ListItem>
</asp:DropDownList>
<br />
Gerar caixas de texto:
<asp:DropDownList id="DropDown2" runat="servidor">
<asp:ListItem Value="0">0</asp:ListItem>
<asp:ListItem Value="1">1</asp:ListItem>
<asp:ListItem Value="2">2</asp:ListItem>
<asp:ListItem Value="3">3</asp:ListItem>
<asp:ListItem Value="4">4</asp:ListItem>
</asp:DropDownList>
<br />
<asp:CheckBox id="Check1" Text="Ocultar Painel" runat="servidor"/>
<br />
<asp:Button Text="Atualizar Painel" runat="servidor"/>
</form>
</body>