Le contrôle serveur Web Panel fournit un contrôle conteneur dans une page Web ASP.NET que vous pouvez utiliser comme parent pour le texte statique et d'autres contrôles.
1. Contexte
Vous pouvez utiliser un contrôle Panel comme conteneur pour d’autres contrôles. Cette méthode est particulièrement utile lorsque vous créez du contenu par programmation et que vous avez besoin d'un moyen d'insérer le contenu dans la page. Les sections suivantes décrivent d’autres façons d’utiliser le contrôle Panel.
1. Conteneur de contrôles générés dynamiquement
Le contrôle Panel fournit un conteneur pratique pour les contrôles créés au moment de l’exécution.
2. Contrôles et marqueurs de groupe
Un groupe de contrôles et de balises associées peuvent être gérés comme une unité en les plaçant dans un contrôle Panel, puis en manipulant le contrôle Panel. Par exemple, vous pouvez masquer ou afficher un groupe de contrôles dans un panneau en définissant la propriété Visible du panneau.
3. Un formulaire avec des boutons par défaut
Vous pouvez placer le contrôle TextBox et le contrôle Button dans un contrôle Panel, puis définir un bouton par défaut en définissant la propriété DefaultButton du contrôle Panel sur l'ID d'un bouton dans le panneau. Si l'utilisateur appuie sur Entrée tout en tapant dans une zone de texte dans le panneau, cela a le même effet que si l'utilisateur cliquait sur un bouton par défaut spécifique. Cela aide les utilisateurs à travailler plus efficacement avec les formulaires de projet.
4. Ajouter des barres de défilement à d'autres contrôles
Certains contrôles (tels que le contrôle TreeView) n'ont pas de barres de défilement intégrées. Vous pouvez ajouter un comportement de défilement en plaçant un contrôle de barre de défilement dans un contrôle Panel. Pour ajouter des barres de défilement à un contrôle Panel, définissez les propriétés Height et width, limitez le contrôle Panel à une taille spécifique, puis définissez la propriété ScrollBars.
4. Zones personnalisées sur la page
Vous pouvez utiliser le contrôle Panel pour créer des zones sur la page avec une apparence et un comportement personnalisés, comme suit :
·Créez une zone de groupe avec un titre : vous pouvez définir la propriété GroupingText pour afficher le titre. Lors du rendu de la page, une zone contenant un titre apparaît autour du contrôle Panel, le titre étant le texte que vous spécifiez.
Remarque : Vous ne pouvez pas spécifier simultanément des barres de défilement et du texte groupé dans le contrôle Panel. Si du texte groupé est défini, sa priorité est supérieure à la barre de défilement.
·Créez des zones sur la page avec des couleurs personnalisées ou d'autres apparences : le contrôle Panel prend en charge les propriétés d'apparence (telles que BackColor et BorderWidth), qui peuvent être définies pour créer une apparence unique pour une zone de la page.
Description : la définition de la propriété GroupingText affichera automatiquement une bordure autour du contrôle Panel.
2. Comment : ajouter un contrôle Panel à une page Web Forms
1. En vue "Conception", depuis l'onglet "Standard" de la boîte à outils, faites glisser le champ Panneau sur la page.
2. Pour créer du texte statique, cliquez dans le contrôle puis saisissez le texte. Pour ajouter des contrôles, faites-les glisser de la boîte à outils vers le contrôle Panel.
Remarque : Pour ajouter du texte statique à un contrôle Panel au moment de l'exécution, vous devez créer un contrôle Literal et définir sa propriété Text. Les objets littéraux peuvent ensuite être ajoutés au panneau par programme de la même manière que n'importe quel contrôle. Pour plus d’informations sur l’ajout de contrôles, consultez Comment : ajouter des contrôles par programme à une page Web ASP.NET.
3. Vous pouvez également choisir de faire glisser la bordure du panneau pour redimensionner le contrôle.
Description : Ce contrôle se redimensionne automatiquement pour afficher tous ses contrôles enfants (même s'ils dépassent la hauteur définie).
4. Vous pouvez également choisir de définir les propriétés du contrôle Panel (comme décrit dans le tableau suivant) pour spécifier la manière dont le volet interagit avec ses contrôles enfants.
Description du bien
Alignement horizontal
Spécifie l’alignement des contrôles enfants dans le panneau (gauche, droite, centre ou justifié).
Envelopper
Spécifie si le contenu trop large dans le panneau est renvoyé à la ligne suivante ou tronqué au bord du panneau.
Direction
Spécifie si le contenu du contrôle est rendu de gauche à droite ou de droite à gauche. Cette propriété est utile lors de la création de zones sur la page orientées différemment de la page entière.
Barres de défilement
Si vous avez défini les propriétés Height et width pour limiter le contrôle Panel à une taille spécifique, vous pouvez ajouter des barres de défilement en définissant la propriété ScrollBars.
RegroupementTexte
Rend une bordure et un titre autour du contrôle Panel.
illustrer:
La définition de la propriété GroupingText empêche les barres de défilement d’apparaître (si vous spécifiez des barres de défilement).
3. Classe de panneau
Les contrôles du panneau sont des conteneurs pour d’autres contrôles. Ce contrôle est particulièrement utile lorsque vous souhaitez générer des contrôles par programme, masquer/afficher un ensemble de contrôles ou localiser un ensemble de contrôles.
La propriété Direction est utile pour localiser le contenu d'un contrôle Panel afin d'afficher du texte dans des langues écrites de droite à gauche, comme l'arabe ou l'hébreu.
Le contrôle Panel fournit plusieurs propriétés qui vous permettent de personnaliser le comportement et l'affichage du contenu du contrôle. Utilisez la propriété BackImageUrl pour afficher une image personnalisée pour le contrôle Panel. Utilisez la propriété ScrollBars pour spécifier les barres de défilement du contrôle.
Exemple
1. L'exemple suivant illustre comment utiliser le contrôle Panel pour générer par programme des contrôles et masquer/afficher un groupe de contrôles.
Remarque : L'exemple de code suivant utilise un modèle de code à fichier unique et peut ne pas fonctionner correctement lorsqu'il est copié directement dans un fichier code-behind. Cet exemple de code doit être copié dans un fichier texte vide avec une extension .aspx.
<%@ Langage de la page="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
<html>
<tête>
<title>Exemple de panneau</title>
<script runat="serveur">
void Page_Load (expéditeur de l'objet, EventArgs e) {
// Afficher ou masquer le contenu du panneau.
si (Check1.Checked) {
Panel1.Visible=false ;
}
autre {
Panel1.Visible=true ;
}
// Génère les contrôles Label.
int numlabels = Int32.Parse(DropDown1.SelectedItem.Value);
pour (int i=1; i<=numlabels; i++) {
Étiquette l = nouvelle étiquette();
l.Text = "Étiquette" + (i).ToString();
l.ID = "Étiquette" + (i).ToString();
Panel1.Controls.Add(l);
Panel1.Controls.Add(new LiteralControl("<br />"));
}
// Génère les contrôles Textbox.
int numtexts = Int32.Parse(DropDown2.SelectedItem.Value);
pour (int i=1; i<=numtexts; i++) {
TextBoxt = new TextBox();
t.Text = "TextBox" + (i).ToString();
t.ID = "TextBox" + (i).ToString();
Panel1.Controls.Add(t);
Panel1.Controls.Add(new LiteralControl("<br />"));
}
}
</script>
</tête>
<corps>
<h3>Exemple de panneau</h3>
<form id="form1" runat="serveur">
<asp:Panel id="Panel1" runat="serveur"
Couleur Retour="gainsboro"
Hauteur="200px"
Largeur="300px">
Panel1 : Voici du contenu statique...
<br />
</asp:Panneau>
<br />
Générer des étiquettes :
<asp:DropDownList id="DropDown1" runat="server">
<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 />
Générer des zones de texte :
<asp:DropDownList id="DropDown2" runat="server">
<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="Masquer le panneau" runat="server"/>
<br />
<asp:Button Text="Actualiser le panneau" runat="server"/>
</form>
</corps>