Home

Contrôle d'Onglet et Pages d'Onglet

 

Le Contrôle d'Onglet

 

Description

Comme votre application devient encombrée de divers contrôles, vous pouvez trouver sa forme à court d'espace. Pour résoudre ce problème, vous pouvez créer de nombreux contrôles sur un formulaire ou sur un conteneur et afficher certains d'entre eux uniquement en réponse à une action de l'utilisateur.

L'alternative consiste à regrouper les contrôles dans divers conteneurs et spécifier lorsque le contrôle hébergé par un conteneur particulier doit être affiché. C'est l'idée derrière le concept des pages de propriétés. Une page de propriétés est un conteneur de contrôle qui apparaît comme un formulaire ou une image.

Une page de propriétés peut apparaître par elle-même. Voici un exemple intitulé Signatures :

Digital Signature

Dans la plupart des autres cas, une page de propriétés s'affiche dans un groupe avec d'autres pages. Elle fonctionne comme un groupe de morceaux de papiers placés au-dessus de l'autre. Chaque pièce est représentée par un onglet qui permet à l'utilisateur de l'identifier :

Example of property pages on a property sheet

Pour utiliser une page de propriétés, l'utilisateur clique sur l'en-tête, également appelée onglet, de la page souhaitée. Cela ouvre cette page et envoie l'(es) autres (s) en arrière-plan :

Property page selection

Si l'utilisateur a besoin d'accéder à une autre page, il ou elle peut cliquer sur l'onglet souhaité, ce qui permettrait de mettre cette page en face et d'envoyer la page précédemment sélectionnée à l'arrière.

Les pages sont regroupées et hébergées par un objet appelé une feuille de propriétés. Comme un formulaire, les pages de propriétés d'une feuille de propriétés servent simplement à transporter ou contenir d'autres contrôles. L'idée majeure d'utiliser une feuille de propriétés est sa capacité d'avoir de nombreux contrôles disponibles dans une zone relativement petite.

ApplicationApplication : Présentation des options de l'onglet

  1. Démarrez Microsoft Visual c# et créez une Application Windows nommée Algebra1
  2. Dans l'Explorateur de solutions, cliquez à droite sur Form1.cs et cliquez sur Renommer
  3. Tapez algèbre.cs et appuyez sur entrée
  4. Cliquez sur le corps du formulaire pour le sélectionner
  5. Dans la fenêtre Propriétés, modifiez les caractéristiques suivantes
    FormBorderStyle : FixedDialog
    Text : Factorial, Permutation, and Combination
    Size : 304, 208
    StartPosition : CenterScreen
    MaximizeBox : false
    MinimizeBox : false
  6. Enregistrez le formulaire.

La Création de Contrôle d'Onglet

Les pages de propriétés d'une feuille de propriétés sont également appelées Contrôles d'Onglet. Pour prendre en charge les pages de propriétés, le .NET Framework fournit une classe nommée TabControl. Au moment du design, pour ajouter une feuille de propriétés à votre application, dans la section de conteneurs de la boîte à outils, cliquez sur TabControl TabControl et cliquez sur le formulaire (ou un autre conteneur).

Pour créer par programmation une feuille de propriétés, déclarez une variable de type TabControl, allouez la mémoire à l'aide de l'opérateur new. Comme tous les autres objets, un contrôle onglet doit avoir un nom. Après avoir déclaré la variable et l’avoir initialisée, ajoutez-la à la collection Contrôles de son conteneur.

Voici un exemple de création d'un contrôle onglet :

using System;  
using System.Drawing;  
using System.Windows.Forms;    

public class Exercise : System.Windows.Forms.Form  
{      
	TabControl tclPropertySheet;
 
	public Exercise()      
	{          
		InitializeComponent();      
	}
 
	private void InitializeComponent()      
	{          
		Text = "Domain Configuration";          
		Size = new Size(345, 228);          
		StartPosition = FormStartPosition.CenterScreen;            
 
		tclPropertySheet = new TabControl();          
		tclPropertySheet.Location = new Point(14, 16);          
		tclPropertySheet.Size = new Size(310, 170);            
 
		Controls.Add(tclPropertySheet);      
	}  
}   
 
public class Program  
{      
	static int Main()      
	{          
		System.Windows.Forms.Application.Run(new Exercise());          
		return 0;      
	}  
}

Cela produirait :

The Creation of a Tab Control


Si vous souhaitez que la feuille de propriétés occupe la forme entière ou occupe une partie de celle-ci, vous pouvez la spécifier à l'aide de la propriété Dock.

Les pages d'onglet d'un contrôle onglet

 

Introduction

Tel que mentionné précédemment, un contrôle onglet est fait d'onglets. Il s'agit d'objets réels qui composent un contrôle onglet. Un contrôle onglet peut avoir un ou plusieurs d'entre eux. Si vous créez un contrôle onglet uniquement dans votre application, il est inutile et ne joue pas son rôle prévu. Pour le rendre utile, vous devez lui ajouter des pages de propriétés.

La Création d'une Page d'Onglet

Pour appuyer les pages de propriétés, le. NET Framework fournit la classe TabPage. Parce que les pages de propriétés dépendent complètement du contrôle onglet, la classe TabPage n'est pas représentée dans la boîte à outils. Si vous souhaitez ajouter une page de l'onglet à un contrôle onglet, la classe TabControl est équipée d'une propriété nommée TabPages, qui est de type TabPageCollection. TabPageCollection est une classe de collection qui implémente les interfaces IList, ICollection et l'interface IEnumerable.

Si vous créez un contrôle onglet au moment du design en le prenant dans la boîte à outils et vous l'ajoutez à un formulaire, le contrôle onglet est automatiquement équipé de deux onglets. Voici un exemple :

Au moment du design, pour ajouter une page de propriétés, vous avez différentes options :

  • Si le contrôle onglet n'a pas d'onglets, vous pouvez cliquer sur son corps et cliquer sur Ajouter Onglet :
     
  • Creating tab pages on a tab control
  • Si le contrôle onglet possède déjà un ou plusieurs onglets, cliquez avec le bouton droit sur ses onglets et cliquez sur Ajouter onglet
     
  • Si le contrôle onglet a déjà au moins un onglet, sélectionnez d'abord le contrôle onglet (dans les prochaines sections, nous apprendrons comment sélectionner le contrôle onglet). Si le contrôle n'a pas encore les onglets, cliquez sur son corps pour le sélectionner.
    Lorsque le contrôle onglet est sélectionné, cliquez sur le bouton flèche sur le côté supérieur droit, puis cliquez sur Ajouter onglet
     
    Tab Control
  • Alors que le contrôle TabControl est sélectionné dans le formulaire, dans la partie inférieure de la fenêtre Propriétés, vous pouvez cliquer sur le lien de l'onglet Ajouter :
     
    Properties
  • Alors que le contrôle TabControl est sélectionné dans le formulaire, dans la fenêtre Propriétés, cliquez sur le champ de TabPages et cliquez sur le bouton Ellipsis pour afficher la boîte de dialogue éditeur de collections TabPage qui permet de créer et configurer chaque page en cliquant sur le bouton Ajouter :
     
    The TabPage Collection Editor

Si vous créez des pages d'onglets au moment du design, comme tous les autres contrôles, les noms des pages d'onglets sont cumulatifs. Lorsque vous les ajoutez, le premier serait nommé tabPage1, le second serait nommé tabPage2, etc.. Si vous envisagez de renvoyer par programmation vers les pages d'onglet, vous devez donner à chacun un nom plus significatif. Comme avec tout autre contrôle, pour définir le nom d'une page de propriétés, après la sélection, dans la fenêtre Propriétés, modifiez la valeur du champ (name).

Pour créer une page de propriétés, déclarez une variable de type TabPage, allouez la mémoire en utilisation l'opérateur new et ajoutez la à la collection de Contrôles de son contrôle onglet éventuel. Voici un exemple :

public class Exercise : System.Windows.Forms.Form  
{      
	TabControl tclPropertySheet;      
	TabPage pgeController;        
 
 
	public Exercise()      
	{          
		InitializeComponent();      
	}        
 
 
	private void InitializeComponent()      
	{          
		Text = "Domain Configuration";          
		Size = new Size(345, 228);          
		StartPosition = FormStartPosition.CenterScreen;            
 
		tclPropertySheet = new TabControl();          
		tclPropertySheet.Location = new Point(14, 16);          
		tclPropertySheet.Size = new Size(310, 170);            
 
		pgeController = new TabPage();          
		tclPropertySheet.Controls.Add(pgeController);            
 
		Controls.Add(tclPropertySheet);      
	}  
}

Cela produirait :


Vous pouvez également déclarer une variable de type TabPage, allouez la mémoire en utilisant l'opérateur new et ajoutez-la à la collection TabPages de son contrôle onglet. Voici un exemple :

public class Exercise : System.Windows.Forms.Form  
{      
	TabControl tclPropertySheet;      
	TabPage pgeController;      
	TabPage pgeAccount;        
 
 
	public Exercise()      
	{          
		InitializeComponent();      
	}
        
	private void InitializeComponent()      
	{          
		Text = "Domain Configuration";          
		Size = new Size(345, 228);          
		StartPosition = FormStartPosition.CenterScreen;            
 
		tclPropertySheet = new TabControl();          
		tclPropertySheet.Location = new Point(14, 16);          
		tclPropertySheet.Size = new Size(310, 170);            
 
		pgeController = new TabPage();          
		tclPropertySheet.Controls.Add(pgeController);            
 
		pgeAccount = new TabPage();          
		tclPropertySheet.TabPages.Add(pgeAccount);            
 
		Controls.Add(tclPropertySheet);      
	}  
}

ApplicationApplication: Création des Pages d’onglets

  1. Faites défiler la liste dans la boîte à outils pour accéder à la section des conteneurs. Cliquez TabControl et cliquez sur la partie supérieure gauche de la forme TabControl puis cliquez sur la section supérieure gauche de l'écran.
  1. Sur le formulaire, cliquez-droit sur le côté droit de tabPage2 et cliquez sur Ajouter une page

La Suppression d'une page de l'onglet

Si vous avez ajouté un onglet par erreur ou si vous ne souhaitez plus une page particulière, vous pouvez la supprimer. Pour supprimer une page de propriétés, cliquez d'abord sur son onglet pour le sélectionner. Puis,

  • Vous pouvez cliquer sur le contrôle TabControl et cliquez sur Supprimer un onglet
  • Vous pouvez sélectionner le contrôle onglet, cliquez sur le bouton flèche sur sa section en haut à droite, puis cliquez sur Supprimer un onglet
  • Alors que la page de l'onglet indésirable est sélectionnée dans le contrôle onglet, vous pouvez appuyer sur Supprimer
  • Alors que la page de l'onglet indésirable est sélectionnée dans le contrôle onglet dans la partie inférieure de la fenêtre Propriétés, vous pouvez cliquer sur le lien Supprimer un onglet
  • Vous pouvez cliquer-droit sur le corps de la page indésirable et cliquez sur Supprimer

Pour supprimer par programmation un contrôle onglet, appelez la méthode Remove() de la propriété TabPages.

Le Contrôle d’onglet et de sélection de page d'onglet

 

La Sélection de contrôle onglet

Bon nombre des effets dont vous aurez besoin sur les pages doivent être définis sur le contrôle TabControl et non sur des pages individuelles. Cela signifie que, pour gérer les caractéristiques des pages, vous changerez les propriétés du contrôle de parent TabControl. À tout moment, en contrôlant le travail sur le TabControl ou sur l'une de ses pages d'onglet, vous devriez tout d'abord savoir sur quel objet vous travaillez en le sélectionnant.

Pour sélectionner le contrôle TabControl proprement dit, vous avez trois options principales :

  • Dans la zone supérieure sur le haut de la fenêtre Propriétés, sélectionnez le nom du contrôle onglet
  • Cliquez sur une zone libre sur la partie droite de l'onglet le plus à droite
  • Tandis qu'une page de l’onglet est sélectionnée, cliquez sur un autre onglet

Au moment de l'exécution, ni l'utilisateur ni vous n’aurez vraiment pas besoin de sélectionner un contrôle onglet. D'autre part, avec le code, vous pouvez vous référer à l’onglet de contrôle en utilisant son nom.

ApplicationApplication : Redimensionnement d'un contrôle onglet

  1. Sur l'écran, cliquez sur le côté droit de tabPage3 pour sélectionner le contrôle onglet.
    Dans la fenêtre Propriétés, cliquez sur (name) et tapez tclAlgebra
  2. Cliquez sur le bouton + de Location et modifiez ses valeurs comme suit :
    X: 12
    Y: 12
  3. Cliquez sur le bouton + de Size et modifiez ses valeurs comme suit :
    Width : 272
    Height : 158
  4. Enregistrez le formulaire.

La Sélection de la page d'onglet

Avant de manipuler une page d'onglets, vous devez tout d'abord la sélectionner. Vos différentes options :

  • Pour sélectionner une page d'onglets sur le formulaire, cliquez tout d'abord son onglet, puis cliquez sur son corps.
  • Dans la zone supérieure de la fenêtre Propriétés, sélectionnez le nom de la page de propriété souhaitée.
  • Sur l'écran, cliquez sur le contrôle d'onglet. Dans la fenêtre Propriétés, cliquez sur le champ TabPages et cliquez sur son bouton de sélection. Dans la liste des membres de l'éditeur de collections TabPage, cliquez sur le nom de la page de l'onglet souhaité.

Comme décrit dans notre introduction, pour sélectionner une page de propriétés, l'utilisateur peut cliquer sur son onglet. Pour sélectionner par programmation une page d'onglets, vous disposez de différentes options.

Nous avons déjà dit que les onglets sont ajoutés cumulativement. L'application garde une trace de leur position. Pour suivre les positions des pages de l'onglet, la classe TabControl est équipée d'une propriété nommée SelectedIndex. Basé sur ce point, pour sélectionner une page d'onglets en utilisant sa position, affectez l'index souhaité pour cette propriété. Voici un exemple :

private void button1_Click(object sender, EventArgs e)  
{      
	tabControl1.SelectedIndex = 1;  
}

Vous pouvez également appeler la méthode TabControl.SelectTab(). Dans ce cas, passez à l'index de l'onglet à la méthode.

Une solution de rechange consiste à sélectionner une page d'onglets en utilisant son nom de l'objet. Pour appuyer cela, la classe TabControl est équipée de la propriété SelectedTab. Grâce à elle, pour sélectionner une page d'onglets, assignez son nom à la propriété SelectedTab. Voici un exemple :

private void button1_Click(object sender, EventArgs e)  
{      
	 tabControl1.SelectedTab = tabPage3;  
}

Vous pouvez également appeler la méthode TabControl.SelectTab(). Dans ce cas, passez le nom de l'onglet à la méthode.

Le TabControl.SelectedIndex et la propriété TabControl.SelectedTab sont tous deux en lecture/écriture. Cela signifie que, outre la sélection d'une page de propriétés, vous pouvez les utiliser pour savoir quelle page de l'onglet est sélectionnée. Pour ce faire, il suffit de récupérer simplement la valeur du contrôle au moment où vous y accédez.

ApplicationApplication : Accès à une page de l'onglet

  1. Sur l'écran, cliquez sur tabPage1, puis cliquez sur sa large zone
  2. Dans la fenêtre Propriétés, cliquez sur (name), tapez tabFactorial et appuyez sur entrée
  3. Dans la zone de liste déroulante sur le haut de la fenêtre Propriétés, sélectionnez tabPage2
  4. Cliquez sur (name), tapez tabPermutation et appuyez sur entrée
  5. Dans la zone de liste déroulante sur le haut de la fenêtre Propriétés, sélectionnez tabPage2
  6. Cliquez sur (name), tapez tabCombination et appuyez sur entrée
  7. Enregistrez le formulaire.

L'onglet d'une page de l'onglet

 

Introduction

Comme toute autre fenêtre visuelle, le contrôle onglet utilise ces propriétés comme Location (les valeurs Right et Top), Size (les valeurs Width et Height), le taquet de tabulation (TabStop), l'index de tabulation (TabIndex), le curseur (Cursor), etc..

Après avoir ajouté le contrôle TabControl à votre formulaire et après l'ajout d'une ou de plusieurs pages d'onglet, les pages de propriétés sont créées lorsque le contrôle TabControl est positionné et que leurs dimensions sont utilisées par le contrôle onglet. Cela signifie que, si vous souhaitez une position différente, une feuille de petites ou grandes propriétés, vous devez modifier les dimensions du contrôle TabControl et non celles de pages d'onglet, même si chaque page de l'onglet possède une propriété de Location et les dimensions (la propriété Size).

Pour trouver par programmation l'emplacement et la taille d'une feuille de propriétés, la classe TabControl est équipée d'une propriété nommée DisplayRectangle qui produit une valeur du rectangle.

Voici un exemple d'utilisation :

private void Exercise_Load(object sender, EventArgs e)  
{              
	Rectangle rctLocationSize = tabControl1.DisplayRectangle;              
	textBox1.Text = rctLocationSize.Left.ToString();              
	textBox2.Text = rctLocationSize.Top.ToString();              
	textBox3.Text = rctLocationSize.Width.ToString();              
	textBox4.Text = rctLocationSize.Height.ToString();  
}

La légende d'un onglet.

La première caractéristique évidente d'une page de l'onglet est probablement le mot ou la chaîne qui l'identifie à l'utilisateur. C'est la chaîne qui affiche sous l'onglet d'une page de propriétés. Ceci est appelé son titre ou sa légende. Si vous créez vos pages d'onglets au moment du design, par défaut, les sous-titres sont cumulativement définis comme les pages sont ajoutées. Généralement vous n'allez pas utiliser ces titres parce qu'ils sont vides de sens.

Pour afficher un titre personnalisé pour une page de propriétés, sur le formulaire, sélectionnez le contrôle onglet :

  • Cliquez sur l'onglet de la page souhaitée. Dans la fenêtre Propriétés, modifiez la valeur de la propriété Text
  • Dans la fenêtre Propriétés, cliquez sur le bouton de sélection du champ TagePages pour ouvrir l'éditeur de collections TabPages. Dans la liste des membres, cliquez sur le nom de la page d'onglets. Dans la liste de droite, cliquez sur le texte et modifiez la chaîne

Par programmation changez le titre d'une page de propriétés, attribuez une chaîne à sa propriété Text. Voici un exemple :

using System;  
using System.Drawing;  
using System.Windows.Forms;    
 
 
public class Exercise : System.Windows.Forms.Form  
{      
	TabControl tclPropertySheet;      
	TabPage pgeController;        
 
 
	public Exercise()      
	{          
		InitializeComponent();      
	}        
 
 
	private void InitializeComponent()      
	{          
		Text = "Domain Configuration";          
		Size = new Size(345, 228);          
		StartPosition = FormStartPosition.CenterScreen;
            
 
		tclPropertySheet = new TabControl();          
		tclPropertySheet.Location = new Point(14, 16);          
		tclPropertySheet.Size = new Size(310, 170);
            
 
		pgeController = new TabPage();          
		pgeController.Text = "Controller";          
		tclPropertySheet.Controls.Add(pgeController);
            
		Controls.Add(tclPropertySheet);      
	}  
}    
 
public class Program  
{      
	static int Main()      
	{          
		System.Windows.Forms.Application.Run(new Exercise());          
		return 0;      
	}  
}

Cela se produirait :

ApplicationApplication : Accès à une page de l'onglet

  1. Dans la zone de liste déroulante en haut de la fenêtre Propriétés, sélectionnez tabCombination
  2. Cliquez sur le texte, puis tapez la Combination
  3. Dans la zone de liste déroulante en haut de la fenêtre Propriétés, sélectionnez tabPermutation
  4. Cliquez sur le texte, tapez Permutation et appuyez sur entrée
  5. Dans la zone de liste déroulante en haut de la fenêtre Propriétés, sélectionnez tabFactorial
  6. Cliquez sur le texte et tapez Factorial
     
    Algebra
  7. Enregistrez le formulaire

Hot suivi de la légende d'une page de l'onglet

Lorsque l'utilisateur place la souris sur un onglet, vous pouvez (légèrement) modifier la couleur de la légende au bleu. À l'appui de cela, la classe TabControl est équipée de la propriété Boolean HotTrack. Sa valeur par défaut est false. Au moment du design, pour définir cette valeur, sélectionnez le contrôle et, dans la fenêtre Propriétés, sélectionnez l'option souhaitée du champ HotTrack. Pour définir par programmation cette propriété, affectez la valeur true ou false à la propriété. Voici un exemple :

private void InitializeComponent()  
{          
		Text = "Domain Configuration";          
		Size = new Size(345, 228);          
		StartPosition = FormStartPosition.CenterScreen;
            
 
		tclPropertySheet = new TabControl();          
		tclPropertySheet.Location = new Point(14, 16);          
		tclPropertySheet.Size = new Size(310, 170);          
		tclPropertySheet.HotTrack = true;
            
 
		pgeController = new TabPage();          
		pgeController.Text = "Controller";          
		tclPropertySheet.Controls.Add(pgeController);
            
		Controls.Add(tclPropertySheet);  
}

ApplicationApplication : Suivi à chaud de la légende d'une page de l'onglet

  1. Dans la zone de liste déroulante sur le haut de la fenêtre Propriétés, sélectionnez tclAlgebra
  2. Double-cliquez sur HotTrack pour définir sa valeur sur true

Le remplissage de la légende d'une page de l'onglet

Lorsque vous spécifiez la légende d'une page de l'onglet, la chaîne s'affiche de la gauche vers la droite de la zone de l'onglet. Si vous le souhaitez, vous pouvez spécifier combien d'espace doit être vide sur le côté gauche de la légende. Cet espace est dénommé padding. Pour cela, la classe TabControl est équipée d'une propriété nommée Padding. La propriété Padding est de type Point.

Lors de la conception, pour spécifier la quantité de remplissage, sélectionnez le contrôle onglet sur le formulaire. Dans la fenêtre Propriétés, cliquez sur le bouton + du champ Padding, tapez les quantités souhaitées des valeurs X et Y. Pour spécifier par programmation la quantité de remplissage, attribuez une valeur Point à la propriété Padding de votre objet TabControl.

L’info-bulle d'une page de l'onglet

Un onglet est destiné à afficher une légende relativement courte qui indique à l'utilisateur ce que contient la page de l'onglet. Si vous souhaitez fournir plus d'informations, vous pouvez afficher une info-bulle plus explicite qui s’affiche lorsque l'utilisateur place la souris sur l'onglet.

Pour prendre en charge les info-bulles sur les onglets, la classe TabControl est équipée d'une propriété de type Boolean nommée ShowToolTips. Donc, si vous souhaitez que les onglets affichent les info-bulles, définissez tout d'abord cette propriété sur true. Pour afficher une info-bulle sur un onglet, sélectionnez-la dans le contrôle onglet et, dans la fenêtre Propriétés, entrez une chaîne dans le champ ToolTipText.

Une image sur un onglet

En plus ou au lieu de la légende, vous pouvez afficher une icône sur l'onglet d'un ou plusieurs ou certains onglets sélectionnés de votre contrôle. Pour démarrer, vous devriez créer une liste d'images et ajouter des images ou des icônes. Après la création de la liste d'images, pour l'associer avec le contrôle onglet, sur l'écran, sélectionnez le contrôle. Dans la fenêtre Propriétés, cliquez sur la flèche du champ ImageList et sélectionnez la liste d'images.

Pour spécifier la liste des images avec le code, créez tout d'abord la liste d'images, visuellement ou par programmation. Pour associer la liste d'images avec le contrôle onglet, attribuez le nom de la liste d'images à la propriété ImageList du contrôle onglet. Voici un exemple :

Spécifiez visuellement l'image à afficher sur un onglet :

  • Sur l'écran, sélectionnez la page de l'onglet de votre choix. Dans la fenêtre Propriétés, cliquez sur ImageIndex et cliquez sur la flèche de sa zone de liste déroulante pour sélectionner l'index de l'image dans la liste image
  • Sur les formulaires, sélectionnez le contrôle onglet. Dans la fenêtre Propriétés, cliquez sur le bouton de sélection du champ TagePages pour ouvrir l'éditeur de collections TabPages. Dans la liste des membres, cliquez sur le nom de la page de l'onglet. Dans la liste de droite, cliquez sur ImageIndex et cliquez sur la flèche de la zone de liste déroulante pour sélectionner l'index de l'image

Avant d'utiliser par programme les images d'un contrôle onglet, vous devez d'abord créer un objet ImageList et puis l'affecter à un contrôle onglet. Voici un exemple :

public class Exercise : System.Windows.Forms.Form  
{      
    TabControl tclPropertySheet;      
    ImageList lstImages;        
 
    public Exercise()      
    {          
	InitializeComponent();      
    }        
 
    private void InitializeComponent()      
    {          
	Text = "Domain Configuration";          
	Size = new Size(345, 228);          
	StartPosition = FormStartPosition.CenterScreen;
            
	tclPropertySheet = new TabControl();          
	tclPropertySheet.Location = new Point(14, 16);          
	tclPropertySheet.Size = new Size(310, 170);          
	tclPropertySheet.HotTrack = true;
            
 	lstImages = new ImageList();          
	lstImages.Images.Add(Image.FromFile(@"E:\Programs\image1.jpg"));          
	lstImages.Images.Add(Image.FromFile(@"E:\Programs\Image2.jpg"));          
	lstImages.Images.Add(Image.FromFile(@"E:\Programs\Image3.jpg"));          
	tclPropertySheet.ImageList = lstImages;      
    }  
}

Après avoir attribué une liste d'images au contrôle onglet, pour spécifier par programme l'image à afficher sur un onglet, assignez un index d'un objet ImageList à la page d'onglets. Pour appuyer cela, la classe TabPage est équipée d'une propriété nommée ImageIndex, ce qui est de type int. Voici un exemple :

public class Exercise : System.Windows.Forms.Form  
{      
	ImageList lstImages;      
	TabPage pgeController;      
	TabPage pgeAccount;      
	TabPage pgeSummary;      
	TabControl tclPropertySheet;
        
	public Exercise()      
	{          
		InitializeComponent();      
	}
        
	private void InitializeComponent()      
	{          
		Text = "Domain Configuration";          
		Size = new Size(345, 228);          
		StartPosition = FormStartPosition.CenterScreen; 
           
		tclPropertySheet = new TabControl();          
		tclPropertySheet.Location = new Point(14, 16);          
		tclPropertySheet.Size = new Size(310, 170);          
		tclPropertySheet.HotTrack = true;
            
		lstImages = new ImageList();          
		lstImages.Images.Add(Image.FromFile(@"E:\Programs\image1.jpg"));          
		lstImages.Images.Add(Image.FromFile(@"E:\Programs\Image2.jpg"));          
		lstImages.Images.Add(Image.FromFile(@"E:\Programs\Image3.jpg"));          
		tclPropertySheet.ImageList = lstImages;
            
		pgeController = new TabPage();          
		pgeController.Text = "Controller";          
		pgeController.ImageIndex = 1;          
		tclPropertySheet.Controls.Add(pgeController);
            
		pgeAccount = new TabPage();          
		pgeAccount.Text = "Account";          
		pgeAccount.ImageIndex = 2;          
		tclPropertySheet.TabPages.Add(pgeAccount);
            
		pgeSummary = new TabPage();          
		pgeSummary.Text = "Summary";          
		pgeSummary.ImageIndex = 0;          
		tclPropertySheet.TabPages.Add(pgeSummary);
            
		Controls.Add(tclPropertySheet);      
	}  
}

Voici un exemple de ce que cela produirait :

La Gestion des onglets

 

Les flèches de navigation d'un contrôle onglet

Si vous avez plusieurs pages d'onglets et la largeur du contrôle onglet ne peut pas afficher tous les onglets en même temps, le contrôle ajoute deux flèches de navigation à son coin supérieur droit pour laisser l'utilisateur savoir qu'il y a plus de pages de propriétés :

Navigation buttons on a property sheet Using expanded property pages
 

Un contrôle onglet avec Multi-Line

Par défaut, les boutons de navigation viendraient parce que le contrôle utilise une propriété qui contrôle leur disponibilité. Si vous ne voulez pas les flèches de navigation, sélectionnez le contrôle onglet et, dans la fenêtre Propriétés, définissez la propriété MultiLine sur true. Cela créerait des onglets en cascade et l'utilisateur peut sélectionner simplement la propriété souhaitée de page de l'onglet :

Property pages on a multiple line


Bien entendu, vous pouvez également le faire par programme en assignant la TabControl.MultiLine à true.

Après avoir défini la propriété MultiLine sur true, selon le nombre de pages d'onglets, le contrôle peut avoir 2, 3 lignes ou plus. Pour connaître le nombre de lignes que contient le contrôle onglet, vous pouvez obtenir la valeur de la propriété RowCount de la classe TabControl. Cette propriété est de type int.

Le Mode Taille

Lorsque vous spécifiez la légende d'une page de propriétés, c'est redimensionné pour répondre aux besoins de la chaîne. Cela signifie que l'onglet serait élargi ou restreint, dépendant de la longueur de la légende. Comme alternative, vous pouvez faire que tous les onglets utilisent la même largeur. À l'appui de cela, la classe TabControl est équipée d'une propriété nommée ModeAffichage. La propriété ModeAffichage est basée sur l'énumération TabSizeMode qui comprend trois membres : Normal (par défaut), Fixed et FillToRight.

Pour contrôler le mode de taille au moment du design, sur le formulaire, sélectionnez le contrôle onglet. Dans la fenêtre Propriétés, cliquez sur ModeAffichage et sélectionnez l'option souhaitée :

Normal : chaque onglet pourrait être redimensionné pour ajuster sa légende :


Fixed : le concepteur voudrait savoir quel onglet a la légende la plus longue. Il utilisera ensuite cette longueur comme la largeur commune de tous les autres onglets :

Si la propriété MultiLine du contrôle onglet est définie sur true, le concepteur obtiendrait la longueur de la chaîne la plus longue de la première ligne (en haut) :

Cette longueur serait utilisée comme la longueur commune à tous les onglets sur toutes les lignes:

FillToRight : cette option n'est valide que si la propriété MultiLine a la valeur true. Avec cette option, les onglets sur chaque ligne pourraient être redimensionnés afin que la longueur totale des lignes s'ajuste à la largeur du contrôle onglet :


La taille des onglets

En outre, ou en plus du Mode Taille, vous pouvez contrôler la largeur de l'onglet en spécifiant vos propres largeurs. Pour le faire, définissez tout d'abord la propriété ModeAffichage sur true. Ensuite, utilisez la propriété ItemSize du contrôle onglet pour spécifier quelle est la largeur que vous souhaitez appliquer à tous les onglets du contrôle.

L'harmonisation et l'apparence des onglets

 

L'alignement des onglets

Comme vous ajoutez des pages à un contrôle TabControl, les onglets des pages sont positionnés sur la bordure du Haut de la zone de contrôle TabControl. Vous pouvez les repositionner à la gauche, la droite ou les frontières du bas du contrôle. Le placement de l'onglet est défini à l'aide de la propriété Alignment du contrôle TabControl. Les valeurs possibles de cette propriété sont Top, Left, Right et Bottom :

Alignment : Left Alignment : Top

Left Alignment

Top Alignment

Alignment : Bottom

Alignment : Right

Bottom Alignment

Right Alignment

Pour faciliter l'alignement des onglets d'une feuille de propriétés, la classe TabControl est équipée d'une propriété nommée Alignment. Cette propriété est basée sur l'énumération TabAlignment et ses membres sont bas, gauche, droite et haut de la page. Pour contrôler par programme l'alignement des onglets, affectez la valeur souhaitée au contrôle onglet. Voici un exemple :

public class Exercise : System.Windows.Forms.Form  
{      
	TabPage pgeController;      
	TabPage pgeAccount;      
	TabControl tclPropertySheet;        
 
 
	public Exercise()      
	{          
		InitializeComponent();      
	}        
 
 
	private void InitializeComponent()      
	{          
		Text = "Domain Configuration";          
		Size = new Size(345, 228);          
		StartPosition = FormStartPosition.CenterScreen;
            
		tclPropertySheet = new TabControl();          
		tclPropertySheet.Location = new Point(14, 16);          
		tclPropertySheet.Size = new Size(310, 170);          
		tclPropertySheet.HotTrack = true;          
		tclPropertySheet.Alignment = TabAlignment.Left;
            
		pgeController = new TabPage();          
		pgeController.Text = "Controller";          
		tclPropertySheet.Controls.Add(pgeController);
            
		pgeAccount = new TabPage();          
		pgeAccount.Text = "Account";          
		tclPropertySheet.TabPages.Add(pgeAccount);
            
		Controls.Add(tclPropertySheet);      
	}  
}

L'apparence des onglets

Si vous souhaitez créer une feuille de propriétés discrètes et ne souhaitez pas afficher les onglets traditionnels, vous pouvez remplacer les onglets avec des boutons. Ceci est contrôlé par la propriété Appearance qui présente trois options : Normal (par défaut), Buttons et FlatButtons. Le Normal et les valeurs Buttons peuvent être utilisés sur toutes les quatre vues. L'option FlatButtons est disponible uniquement si la propriété Alignment est définie en haut de page.

Appearance : Buttons

Appearance : FlatButtons

Property pages represented by a button

Property pages using flat buttons

Pour soutenir l'option d'afficher des tabulations ou des boutons, la classe TabControl est équipée de la propriété Appearance basée sur l'énumération TabAppearance. Par conséquent, pour spécifier cette option, affectez la valeur souhaitée à votre objet TabControl. Voici un exemple :

public class Exercise : System.Windows.Forms.Form  
{      
	TabPage pgeController;      
	TabPage pgeAccount;      
	TabPage pgeSummary;      
	TabControl tclPropertySheet;
        
	public Exercise()      
	{          
		InitializeComponent();      
	}        
 
 
	private void InitializeComponent()      
	{          
		Text = "Domain Configuration";          
		Size = new Size(345, 228);          
		StartPosition = FormStartPosition.CenterScreen;
            
		tclPropertySheet = new TabControl();          
		tclPropertySheet.Location = new Point(14, 16);          
		tclPropertySheet.Size = new Size(310, 170);          
		tclPropertySheet.HotTrack = true;          
		tclPropertySheet.Appearance = TabAppearance.FlatButtons;
            
		pgeController = new TabPage();          
		pgeController.Text = "Controller";          
		tclPropertySheet.Controls.Add(pgeController);
            
		pgeAccount = new TabPage();          
		pgeAccount.Text = "Account";          
		tclPropertySheet.TabPages.Add(pgeAccount); 
           
		pgeSummary = new TabPage();          
		pgeSummary.Text = "Summary";          
		tclPropertySheet.TabPages.Add(pgeSummary);
            
		Controls.Add(tclPropertySheet);      
	}  
}

ApplicationApplication : Fermeture

  1. Fermez votre environnement de programmation
  2. Lorsqu'on vous demande si vous souhaitez enregistrer, cliquez sur non
 
 
 
 

Précédent Copyright © 2009-2010, yevol.com Suivant