 |
Details sur les Propriétés des Contrôles |
|
|
Les Dimensions d'un Contrôle |
|
|
|
La distance du bord gauche au bord droit d'un contrôle
constitue sa largeur. De la même manière, la distance des bords haut au bas
est la hauteur du contrôle. Ceci peut s'illustrer comme suit:
|
 La
combinaison de la largeur et la hauteur d'un contrôle constitue ses dimensions.
Si vous ajouter un contrôle à un formulaire, il assume des dimensions par
défaut. Pour changer les dimensions d'un contrôle pendant la conception,
accédez à la
fenêtre Propriété:
- Cliquez sur le champ Size et tappez deux nombres séparés par une virgule
- Alternativement, cliquez le bouton + du champ Size, cliquez Width
et tappez une valeur; cliquez Height et tappez une valeur
|
Pour Programmatiquement Spécifier les Dimensions d'un Contrôle |
|
Pour fournir du support aux dimensions d'un objet, le nom
d'espace System.Drawing
definit la structure Size. Il existe 4 caractéristiques qui
définissent une valeur Size: sa position et ses dimensions:
 Pour
vous assister concernant les dimensions, la structure Size fournit le
constructeur suivant:
public Size(int width, int height);
A base de ce constructeur, pour programmatiquement spécifier les
dimensions d'un contrôle, donnez une valeur Size à sa propriété
Size. Voici un exemple:
using System;
using System.Drawing;
using System.Windows.Forms;
public class Exercise : Form
{
private Button btnSubmit;
private void InitializeComponent()
{
btnSubmit = new Button();
btnSubmit.Text = "Submit";
btnSubmit.Location = new Point(100, 40);
btnSubmit.Size = new Size(80, 32);
Controls.Add(btnSubmit);
}
public Exercise()
{
InitializeComponent();
}
}
public class Program
{
static int Main()
{
Application.Run(new Exercise());
return 0;
}
}
Vous pouvez aussi définir un objet Size à base d'une valeur Point.
Pour le supporter, la structure Size est equippée du constructeur
suivant:
public Size(Point pt);
Après avoir déclaré une variable avec ce constructeur, vous
pouvez accéder aux propriétés Width et Height pour compléter
la définition de l'objet Size.
En dehors de Size, le nom d'espace System.Drawing
fournit aussi la structure SizeF. Elle utilise les même propriétés
que Size sauf que ses membres sont de type float.
Pour obtenir les dimensions d'un contrôle, vous
pouvez obtenir la valeur de sa propriété Size et la donner à un
objet Size.
|
La Position Rectangulaire d'un Contrôle |
|
La combinaison de la position et les dimensions d'un objet
est représentée par un rectangle: une figure géométrique avec 4 côtés.
Pour fournir un support à cette figure, le nom d'espace System.Drawing
fournit les structures Rectangle et RectangleF. Un rectangle peut
être représenté comme suit:
Basé sur le système de coordonnées de Microsoft Windows
et les dimensions d'un rectangle, un rectangle apparait comme suit:
Pour créer un rectangle, vous devez donner sa position et
ses dimensions. La position est représentée par une valeur Point et
les dimensions sont représentée par une valeur Size. Pour supporter
ceci, la structure Rectangle est equippée du constructeur suivant:
public Rectangle(Point location, Size size);
Ce constructeur requiert des valeur Point et Size.
A défaut, vous pouvez définir un rectangle basé sur ses coordonnées et ses
dimensions. Pour celà, vous utiliseriez le constructeur suivant:
public Rectangle(int x, int y, int width, int height);
En dehors de la structure Rectangle, le nom d'espace System.Drawing
fournit la structure RectangleF qui utilise les même définitions que Rectangle,
sauf qu'elle utilise des valeurs de type float au lieu d'integrales.
|
Techniques Redimensionnement d'un Contrôle |
|
Tous les contrôles graphiques, tels que le formulaire,
peuvent être redimensionnées using la souris ou le clavier. Pour changer les
dimensions d'un contrôle, selectionnez-le d'abord. Sauf pour le formulaire,
quand un contrôle est sélectionné, il présente 8 petits carrés tout autour.
Pour le redimensionner,
positionnez votre souris sur un des carrés. Le pointeur de la souris
changerait pour indiquer la direction de redimensionnement:
|
Curseur |
Rôle |
 |
Change les dimensions dans la direction Nord-Ouest <-> Sud-Est |
 |
Ecourte ou rend géant le contrôle |
 |
Change les dimensions dans la direction Nord-Est <-> Sud-Ouest |
 |
Rétrécit ou élargit le contrôle |
|
La Largeur et la Hauteur d'un Contrôle |
|
Imaginez que vous ayiez ajouté trois contrôles à un formulaire.
Les dimensions d'un contrôle ou un groupe de contrôles sont du type Size.
Pendant la conception, pour changer les dimensions d'un contrôle, cliquez-le
d'abord. Puis, dans la fenêtre Propriétés, changez les valeurs de la propriété Size.
Pour changer les dimensions d'un groupe de contrôles, selectionnez-les
d'abord. Puis, dans la fenêtre Propriétés, changez les valeurs du champ Size.
Pour synchronizer les largeurs d'un groupe de contrôles, selectionnez-les
d'abord. Puis, sur la barre d'outils Disposition ou sur groupe Format du menu
principal, selectionnez:
| Bouton |
Nom |
Format |
 |
Uniformiser la Largeur |
Uniformiser la Taille -> Largeur |
Resultat: Tous les contrôles, sauf celui de base (le
contrôle qui montre des carrés blancs),
seront redimensionnés horizontallement pour avoir la même largeur comme le contrôle
de base:
| Le contrôle de haut est utilisé comme référence |
 |
=> |
 |
| Le contrôle du milieu est utilisé comme référence |
 |
=> |
 |
| Le contrôle du bas est utilisé comme référence |
 |
|
 |
Pour appliquer la même hauteur à un groupe de contrôles, selectionnez-les
d'abord. Puis, sur the barre d'outils Disposition ou sur le groupe Format du menu principal,
selectionnez:
| Bouton |
Nom |
Format |
 |
Uniformiser la Hauteur |
Uniformiser la Taille -> Hauteur |
Resultat: Tous les contrôles, sauf celui de base (le
contrôle qui montre des carrés blancs),
seront redimensionnés verticallement pour avoir la même hauteur que le contrôle
de base:
| Le contrôle de haut est utilisé comme référence |
 |
=> |
 |
| Le contrôle du milieu est utilisé comme référence |
 |
=> |
 |
| Le contrôle du bas est utilisé comme référence |
 |
=> |
 |
Pour appliquer la même largeur et la même hauteur à un groupe
de contrôles, selectionnez-les d'abord. Puis, sur la barre d'outils Disposition
ou sur le groupe Format du menu principal, selectionnez:
| Bouton |
Nom |
Format |
 |
Uniformiser la Taille |
Uniformiser la Taille -> Hauteur et Largeur |
Resultat: Le Form Designer calculera la somme des
hauteurs de tous les contrôles et trouver leur hauteur moyenne. Il calculera
aussi la somme des largeurs de tous les contrôles et trouver leur largeur
moyenne. Les moyennes seront appliquées à la hauteur et la largeur respectives
de chaque contrôle:
|
Propriétés Communes des Contrôles |
|
|
L'Alignement de
Contenu d'un
Contrôle |
|
Quand les dimensions d'un contrôle ont changé, ou ses
dimensions peuvent changer, vous pouvez spécifier de quel côté son text
apparaitrait. Cette caractéristique est controllée par la propriété TextAlign.
Pour spécifier l'alignement de texte pendant le
design, accéder à la fenêtre Propriétés pour un contrôle et utiliser le
champ TextAlign:

La propriété TextAlign est de type ContentAlignment,
qui est une énumération. Les membres et résultats de cette énumération sont:
| TopLeft |
TopCenter |
TopRight |
 |
 |
 |
| MiddleLeft |
MiddleCenter |
MiddleRight |
 |
 |
 |
| BottomLeft |
BottomCenter |
BottomRight |
 |
 |
 |
Pour programmatiquement spécifier l'alignement de texte d'un contrôle,
accéder à sa propriété TextAlign et assignez-la au membre désiré de
l'énumération ContentAlignment. Voici un exemple:
using System;
using System.Drawing;
using System.Windows.Forms;
public class Exercise : Form
{
private Button btnSubmit;
private void InitializeComponent()
{
btnSubmit = new Button();
btnSubmit.Text = "Submit";
btnSubmit.Location = new Point(20, 20);
btnSubmit.Size = new Size(100, 60);
btnSubmit.TextAlign = ContentAlignment.BottomRight;
Controls.Add(btnSubmit);
}
public Exercise()
{
InitializeComponent();
}
}
public class Program
{
static int Main()
{
Application.Run(new Exercise());
return 0;
}
}

Si vous positionnez un contrôle (visuel) sur un formulaire et
si le contrôle est positionné au haut à gauche du formulaire, quand l'utilisateur
redimensionne le formulaire, la position du contrôle apparaitrait fixée, il ne
bougerait pas. La possibilité d'ancrer un contrôle est faite à base de la propriété Anchor:
La propriété Anchor est basée sur l'énumération AnchorStyles.
Ses valeurs sont:
Bottom: Le bord bas du contrôle restera le même si
la hauteur du parent change:
Left: Le bord gauche du contrôle restera le même si
la largeur du parent change:
None: Aucun ancrage n'est appliqué:
Right: Le bord droit du contrôle restera le même even
si la largeur du parent change:
Top: Le bord haut du contrôle restera le même si la hauteur du parent change:
|
Bordures Liées au Contrôle |
|
Quan un contrôle est ajouté à un parent, dépendant du contrôle,
il pourrrait être automatiquement positionné là où la souris avait attérit.
Dans certains cas, vous voudrez que le contrôle soit attaché à un bord ou à
un coin de son hôte. Ceci est fait en utilisant la propriété Dock:
Cette propriété est basée sur l'énumération DockStyle.
Ses valeurs sont:
Bottom: Le contrôle sera attaché au bas bord de son parent:
Fill: Le contrôle utilisera toute la surface client
de son parent.
Left: Le contrôle sera attaché au border gauche de son parent:
None: Le contrôle restera où il avait été
positionné sur son parent:

Right: Le contrôle sera attaché to the right bord de son parent:
Top: Le contrôle sera attaché au bord haut de son parent:
Pour programmatiquement spécifier l'option de bordure d'un contrôle,
accédez à sa propriété Dock et assignez-lui le membre désiré de l'énumération
DockStyle. Voici un exemple:
public class Exercise : Form
{
private Button btnSubmit;
private void InitializeComponent()
{
btnSubmit = new Button();
btnSubmit.Text = "Submit";
btnSubmit.Dock = DockStyle.Right;
Controls.Add(btnSubmit);
}
}
|
Aspets Esthétiques d'un Contrôle |
|
Les contrôles utilisés sur Microsoft Windows sont paints
en utilisant des couleurs. Si vous n'aimez pas les couleur par défaut, vous
pouvez les changer en utilisant le champ BackColor de la fenêtre Propriétés:
Vous pouvez alors selectionner l'une des coulkeurs présélectionnées:
Comme vous le voyez, les onglets System et Web utilisent des
noms de couleurs. Les noms sont en Anglais. Les noms des onglets System et Web
sont définis dans l'énumération Color. Si vous
n'êtes pas familiés avec les noms des couleurs, vous pouvez visuellement selectionner
une couleur en utilisant l'onglet Personnaliser.
Pour programmatiquement spécifier la couleur de fond d'un contrôle,
accédez à sa propriété BackColor
et donnez-lui la valeur du membre désiré de l'énumération Color. Voici un
exemple:
public class Exercise : Form
{
private Button btnSubmit;
private void InitializeComponent()
{
btnSubmit = new Button();
btnSubmit.Text = "Submit";
btnSubmit.BackColor = Color.Aquamarine;
Controls.Add(btnSubmit);
}
}
Au lieu d'une couleur, il se peut que vous vouliez afficher
une image sur un contrôle. Pour le faire, vous pouvez accéder à la
propriété BackgroundImage
du contrôle. Ceci vous permet de choisir une image et l'utiliser.
Certains contrôles montrent un bord quand ils sont
décidés. Voicci un example:

Certains contrôles vous permettent de les entourer avec un
bord personnalié. Cette caractéristique est controllée par la propriété BorderStyle,
qui est basée sur l'enumerator BorderStyle. Ses membres sont:
| Valeur |
Example |
| Fixed3D |
 |
| FixedSingle |
 |
| None |
 |
Pour programmatiquement spécifier le style de bord d'un contrôle,
accéder à la propriété BorderStyle et donnez-lui la valeur BorderStyle
désirée. Voici un exemple:
using System;
using System.Drawing;
using System.Windows.Forms;
public class Exercise : Form
{
private Panel pnlViewer;
private void InitializeComponent()
{
pnlViewer = new Panel();
pnlViewer.BorderStyle = BorderStyle.Fixed3D;
pnlViewer.BackColor = Color.LightBlue;
Controls.Add(pnlViewer);
}
public Exercise()
{
InitializeComponent();
}
}
public class Program
{
static int Main()
{
Application.Run(new Exercise());
return 0;
}
}
|
Les Characteristics API des Contrôles |
|
Un utilisateur peut naviguer parmi les contrôles en utilisant
la clef Tab. Pendant les design, vous pouvez utiliser le champ
TabStop dans la fenêtre Propriétés. C'est une propriété booléenne.
Chaque contrôle visuel est déjà configuré pour que sa valeur de cette
propriété soit
True. Si vous voulez le soustraire de cette séquence, changez sa valeur TabStop
à
False.
|
La Visibilité d'un Contrôle |
|
La possibilité de montrer ou cacher un contrôle est
controllée par une propriété booléenne appelée Visible. Pendant le design,
quand vous ajouter un contrôle à un parent, il est automatiquement visible par
défaut. Ceci parce que la valeur par défaut de la propriété
Visible est True dans la fenêtre Propriétés.
Si vous ne voulez pas qu'un contrôle apparaisse, changez sa propriété
Visible à False ou changez la valeur Visible de
son parent à
False.
|
La Disponibilité d'un Contrôle |
|
La disponibilité d'un contrôle est controllée par une propriété
booléenne appelée Enabled. Par défaut, après avoir ajouté un contrôle
à un formulaire, il est disponible et sa propriété Enabled dans la
fenêtre Propriétés est mise à True. Un contrôle disponible montre
sont texte ou ses caractéristiques normalement.
Si vous voulez rendre un contrôle indisponible, changez sa propriété Enabled
à False. Dans l'image suivante, la boîte de texte et le button2 ne sont
pas disponible:
Pour programmatiquement vérifier si un contrôle est
disponible ou pas, vérifiez la valeur de sa propriété
Enabled.
|