Home

Introduction aux Contrôles sur Texte

 

Introduction aux étiquettes

 

Description

Une étiquette est un contrôle qui agit comme un guide de l'utilisateur. Il fournit le texte statique que l'utilisateur ne peut pas changer, mais peut lire pour obtenir des informations sur un formulaire. Le programmeur peut également l'utiliser pour afficher des informations simples pour l'utilisateur.

La plupart des contrôles sur le formulaire ne sont pas explicites au premier coup d'oeil et l'utilisateur peut ne pas savoir pourquoi ils sont utilisés. Par conséquent, vous pouvez attribuer une étiquette à un contrôle comme une aide à l'utilisateur.

La Création d'un label

Pour ajouter une étiquette à un conteneur, cliquez sur le bouton étiquette Label de la boîte à outils et cliquez sur l'objet qui serait l'hôte.

Pour créer une étiquette de programmation, déclarez un handle pour le label, initialisez en utilisant son constructeur par défaut et l'ajouter à la propriété de contrôles du formulaire. Voici un exemple :

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

public class Exercise : System.Windows.Forms.Form
{
	Label lblMessage;        
 
	public Exercise()      
	{          
		InitializeComponent();      
	}        
 
	private void InitializeComponent()      
	{          
		lblMessage = new Label();          
		Controls.Add(lblMessage);      
	}  
}    
 
public class Program  
{      
	static int Main()      
	{          
		System.Windows.Forms.Application.Run(new Exercise());          
		return 0;      
	} 
)

ApplicationApplication : Présentation des étiquettes

  1. Démarrez Microsoft Visual Studio et créez une Application Windows nommée ElementaryAddition1
  2. Dans la section de contrôle commun de la boîte à outils, cliquez sur le label et la forme
  3. Dans la section de contrôle commun de la boîte à outils, cliquez de nouveau sur l'étiquette, puis cliquez sur la forme
  4. Dans la section de contrôle commun de la boîte à outils, cliquez de nouveau sur l'étiquette, puis cliquez sur la forme

Les Caractéristiques d'une étiquette

 

La légende

La caractéristique la plus importante d'un contrôle label est le texte qui s'affiche. Ce texte est également appelé sa légende et c'est ce que l'utilisateur lirait. Le texte de l'étiquette est sa propriété Text et sa valeur par défaut. Pour définir la légende d'une étiquette, après avoir ajouté le contrôle dans un conteneur, cliquez sur le Texte dans la fenêtre Propriétés et tapez la valeur souhaitée. Comme nous l'évoquions pour étudier les caractéristiques de contrôles, au moment du design, le texte que vous saisissez dans le champ de Texte est considéré comme "tel quel" . Si vous souhaitez créer une chaîne plus élaborée et mise en forme, vous devez le faire par programmation. Voici un exemple :

public class Exercise : System.Windows.Forms.Form  
{      
	Label lblMessage;        
 
 
	public Exercise()      
	{          
		InitializeComponent();      
	}        
 
 
	private void InitializeComponent()      
	{          
		lblMessage = new Label();          
		lblMessage.Text = DateTime.Now.ToString();          
		Controls.Add(lblMessage);      
	}  
}

Voici un exemple de ce que cela produirait :

Label's Caption

Lorsqu'il s'agit de sa légende, une des caractéristiques les plus précieuses du texte de l'étiquette est l'écart de la police. Lors de la conception d'une légende. vous pouvez modifier la police par défaut pour la rendre plus attrayante.

ApplicationApplication : Sous-titrage des Étiquettes

  1. Sur le formulaire, cliquez sur la première étiquette
  2. Dans la fenêtre Propriétés, cliquez sur le texte et tapez 00
  3. Cliquez sur (Name), puis tapez lblOperand1
  4. Cliquez sur TextAlign et la flèche de la zone de liste déroulante pour sélectionner Centre
  5. Cliquez sur le bouton + de la police sur le terrain et modifiez les caractéristiques comme suit:
    Nom : Tahoma
    Taille : 48
    Gras : true
  6. Sur le formulaire, cliquez sur le deuxième label et, dans la fenêtre Propriétés, modifiez ses caractéristiques comme suit :
    Texte : +
    TextAlign : Centre
    (Nom): lblOPeration
    Police - > nom : Arial
    Police - > taille : 50
    Police - > Bold : true
  7. Sur le formulaire, cliquez sur la troisième étiquette et, dans la fenêtre Propriétés, modifiez ses caractéristiques comme suit :
    Texte : 00
    TextAlign : Centre
    (Nom): lblOperand2
    Police - > nom : Arial
    Police - > taille : 50
    Police - > Bold : true
  8. Enregistrez tout

Le Redimensionnement automatiquement d'un Label

Après avoir ajouté une étiquette à un formulaire, par défaut, il reçoit une taille fixe. Si vous tapez sa légende et appuyez sur entrée, le texte que vous avez fourni serait limité aux dimensions allouées du contrôle. Si le texte est trop long, une partie de celui-ci peut disparaître. Vous pouvez redimensionner l'étiquette pour fournir plus de région.

Une autre solution consiste à redimensionner automatiquement l'étiquette pour tenir compte de la longueur de la chaîne que vous avez tapée. Il s'agit d'aspects qui sont contrôlés par la propriété Boolean AutoSize. Sa valeur par défaut est false. Si vous définissez cette propriété sur true, au moment du design, une bordure rectangulaire apparaît autour d'elle. Si vous tapez une chaîne dans le champ Texte et appuyez sur Entrée, le contrôle pourrait être redimensionné pour montrer la chaîne entière, mais en utilisant seulement l'espace nécessaire.

Si vous créé par programmation un label, il suppose une talle par défaut. Si vous lui assignez une chaîne qui est trop longue pour sa taille par défaut, une partie de la chaîne peut apparaître sur la ligne suivante. Si vous voulez que la chaîne entière apparaisse sur la même ligne, vous pouvez définir l'AutoSize à true. Voici un exeample:

public class Exercise : System.Windows.Forms.Form  
{      
	Label lblMessage;        
 
 
	public Exercise()      
	{          
		InitializeComponent();      
	}        
 
 
	private void InitializeComponent()      
	{          
		lblMessage = new Label();          
		lblMessage.Text = DateTime.Now.ToString();          
		lblMessage.AutoSize = true;          
		Controls.Add(lblMessage);      
	}  
}

Voici un exemple de ce que cela donnerait :

Label Auto Size

ApplicationApplication: Utilisation de AutoSize

  1. Cliquez sur une zone inoccupée de la forme et appuyez sur Ctrl + A pour sélectionner toutes les trois étiquettes
  2. Dans la fenêtre Propriétés, double-cliquez sur AutoSize pour définir la valeur à False
  3. Enregistrez tout

L'Alignement du Contenu

Après avoir tapé la légende d'une étiquette dont la propriété AutoSize est définie sur False, vous pouvez redimensionner son espace alloué à votre goût. C'est parce qu'une chaîne occupe une zone rectangulaire. Voici un exemple:

Content Alignment

Par défaut, la légende de l'étiquette est positionnée à partir du côté gauche au milieu de son rectangle alloué. Alternativement, vous pouvez le placer à l'un des neuf postes disponibles. Comme nous l'avons vu à la Leçon 5, la position de la légende de l'étiquette est contrôlée par la propriété TextAlign qui repose sur l'énumérateur ContentAlignment :

Text Alignment

Il peut avoir les valeurs suivantes :


TopLeft

TopCenter

TopRight

TopLeft

TopCenter

TopRight

MiddleLeft

MiddleCenter

MiddleRight

MiddleLeft

MiddleCenter

MiddleRight

BottomLeft

BottomCenter

BottomRight

BottomLeft

BottomCenter

BottomRight

Les Photos sur une étiquette

D'autres caractéristiques fantaisistes, que vous pouvez appliquer à une étiquette, comprennent la police et la couleur. Par exemple, une étiquette vise principalement à afficher une chaîne. Pour la rendre plus sophistiquée, vous pouvez afficher une (petite) image à côté. Pour cela, au moment du design, utilisez le champ Image de la fenêtre Propriétés pour sélectionner une image.

Vous pouvez également spécifier l'image au moment de l'exécution en assignant une valeur Image à la propriété Label.Image. Après avoir ajouté une image qui accompagnerait l'étiquette, vous pouvez spécifier quelle position l'image tiendrait pour ce qui est de l'étiquette. Pour le faire, sélectionnez la position souhaitée du champ ImageAlign dans la fenêtre Propriétés.

Au lieu d'utiliser une image à partir de la propriété Image, vous pouvez créer une liste d'images à l'aide d'un contrôle ImageList et l'affecter à l'étiquette. En fait, l'avantage d'une ImageList est que, contrairement à la propriété de l'Image, elle vous permet d'utiliser plus d'une image.

Après avoir attribué une ImageList au contrôle label en utilisant le code ou la fenêtre Propriétés, vous pouvez utiliser ImageIndex pour spécifier quelle image afficher à côté de l'étiquette.

Une Etiquette Mnémonique

Une étiquette fournit une autre propriété appelée UseMnemonic. Cette propriété est utile uniquement lorsque l'étiquette accompagne un autre contrôle.

ApplicationApplication: Utilisation d'une zone de texte

  1. Complétez la conception du formulaire comme suit :
     

Elementary

Control

Text

Name

TextAlign

Font

Additional Properties

Label

Label

00

lblOperand1

Center

Name : Tahoma
Size : 48
Bold : true

ForeColor : Blue

Label

Label

+

 

Center

Name : Arial
Size : 50
Bold : true

ForeColor : Maroon

Label

Label

00

lblOperand2

Center

Name : Tahoma
Size : 48
Bold : true

ForeColor : Blue

Label

Label

=

 

Center

Name : Arial
Size : 50
Bold : true

ForeColor : Green

Étiquette

Label

00

lblResult

Center

Name : Tahoma
Size : 48
Bold : true

 

Label

Label

New Operation

lblNewOperation

Center

Name: Tahoma
Size : 28
Bold : true

BorderStyle : Fixed3D
ForeColor : White
BackColor:Maroon

Label

Label

Quit

lblQuit

Center

Name : Tahoma
Size : 28
Bold : true

BorderStyle : FixedSingle

  1. Pour pouvoir utiliser la bibliothèque de Visual Basic, dans l'Explorateur de solutions, cliquez avec le bouton de références -> Ajouter des références...
  2. Dans la page de propriétés de .NET, cliquez sur Microsoft.VisualBasic
     
    Add Reference
  3. Cliquez sur OK et OK
  4. Double-cliquez sur la nouvelle opération et mettez en Å“uvre son événement comme suit :
    private void lblNewOperation_Click(object sender, EventArgs e)  
    {          
    	int operand1;          
    	int operand2;          
    	int answer = 0;            
     
    	Random rnd = new Random();            
     
    	operand1 = rnd.Next(99);          
    	operand2 = rnd.Next(99);          
    	int result = operand1 + operand2;            
     
    	lblOperand1.Text = operand1.ToString();          
    	lblOperand2.Text = operand2.ToString();          
    	lblResult.Text = "0";          
    	string strPrompt = lblOperand1.Text + " + " +                                 
    						lblOperand2.Text + " =";            
     
    	try          
    	{                 
    		answer =  	           
    			   int.Parse(Microsoft.VisualBasic.Interaction.InputBox(                             
    							strPrompt,                             
    							"Elementary Addition",                             
    							"000",                             
    							100,                             
    							100));
                	
    		lblResult.Text = answer.ToString();
                	
    		if (answer == result)                          
    			MessageBox.Show("WOW - Good Answer");          	
    		else                          
    			MessageBox.Show("PSSST - Wrong Answer");          
    	}          
    	catch (FormatException)          
    	{          
    	}
    }
  5. Retournez au formulaire et double-cliquez sur Quit
  6. Implémentez son événement comme suit :
    private void lblQuit_Click(object sender, EventArgs e)  
    {              
    	Close();  
    }
  7. Exécutez l'application et testez-la
     

    Elementary

     

     

     

     

  8. Cliquez sur le bouton Fermer pour fermer le formulaire et retournez à votre environnement de programmation

Les Étiquettes de lien

 

Introduction

Dans le passé, pour ajouter un lien internet ou par courriel à un formulaire, il y a plusieurs étapes à suivre. Comme l'internet et le Courriel sont devenus partie intégrante de la culture, c'est aussi le temps d'avoir un contrôle approprié adapté à ce besoin. Pour résoudre ce problème, un contrôle LinkLabel est disponible dans le .NET Framework.

Les Caractéristiques de l'étiquette du lien

Comme son nom l'indique, le contrôle LinkLabel vous permet de créer un lien. Si vous avez fait du développement web, vous sauriez qu'un lien peut être rendu sophistiqué en faisant varier ses couleurs. Un lien utilise généralement trois couleurs différentes (en fait, si vous utilisez la feuille de style en cascade, vous pouvez ajouter une quatrième couleur comme en vol stationnaire):

  • Link : C'est la couleur générale utilisée sur un lien que l'utilisateur n'a pas cliqué auparavant. La classe LinkLabel définit cette couleur à travers la propriété linkColor.
  • Active Link : Lorsque l'utilisateur clique sur un lien, son objectif ouvre généralement si tout va bien. Cela provoque le lien pour changer son statut de couleur. La couleur d'un lien actif est représentée dans la classe LinkLabel avec la propriété ActiveLinkColor. .
  • Visited : Quand un utilisateur arrive sur une page ou le document qui contient un lien, vous pouvez indiquer si le lien a déjà été consulté ou non. Cela se fait en affichant une couleur autre que la couleur du lien. La couleur d'un lien visité précédemment est représentée dans la classe LinkLabel par la propriété VisitedLinkColor.

Après avoir créé un lien, lorsque l'utilisateur y accède, vous pouvez définir un comportement que le lien exposerait à l'utilisateur, étant ou non souligné lorsque la souris passe sur le lien. Les comportements d'un lien peuvent être contrôlés par la propriété LinkBehavior dont les valeurs sont AlwaysUnderline, HoverUnderline, NeverUnderline, ou l'application ferait allusion à la boîte de dialogue Options Internet du Panneau de configuration.

Un lien est généralement destiné à aider l'utilisateur à passer à une autre page ou un document lorsque vous cliquez dessus. Dans certains cas et à un moment donné, vous ne voulez pas que l'utilisateur soit capable de cliquer sur un lien. Dans ce cas, vous pouvez le désactiver. Si vous décidez de désactiver un lien, vous pouvez changer sa couleur en utilisant la propriété DisabledLinkColor. D'autre part, si l'utilisateur n'est pas en mesure d'accéder à un lien, c'est-à-dire, si un lien est désactivé, vous pouvez trouver la couleur de ce lien à la propriété DisabledLinkColor.

private void linkLabel1_LinkClicked(object sender,              
			LinkLabelLinkClickedEventArgs e)  
{          
    System.Diagnostics.Process.Start(      		
		@"C:\Program Files\Internet Explorer\iexplore.exe",          		
				"http://www.functionx.com/vccli");  
}

Introduction aux zones de texte

 

Description

Une zone de texte est une commande de Windows utilisée pour obtenir ou afficher du texte à l'utilisateur. Lors de son utilisation la plus régulière, une zone de texte sert d'un espace réservé à remplir et à fournir des informations. Une telle utilisation est répandue sur les applications d'emploi, les boîtes de dialogue de connexion, formulaires, etc Comme la plupart des autres contrôles, le rôle d'une zone de texte n'est pas évident à première vue, c'est pourquoi il doit être accompagné d'une étiquette qui définit son objet.

Du point de vue de l'utilisateur, une zone de texte y est appelée comme l'étiquette la plus proche. Une telle étiquette est habituellement placée à gauche ou du côté haut de la page de la zone de texte. Pour programmer, une zone de texte est un espace réservé utilisé pour diverses choses. Par exemple, vous pouvez afficher ou masquer comme bon vous semble. Vous pouvez également l'utiliser uniquement pour afficher le texte sans permettre à l'utilisateur de le modifier.

La Création d'une zone de texte

Pour créer une zone de texte, de la section de contrôles communs de la boîte à outils, vous pouvez cliquer sur TextBox Text Box et cliquez sur la forme. La zone de texte est basée sur la classe TextBox. Cela signifie que vous pouvez utiliser cette classe pour créer une zone de texte dynamique et l'ajouter à votre application. Le contrôle de zone de texte est basé sur la classe TextBox dont le parent immédiat est TextBoxBase. Comme chaque classe .NET Framework, il a un constructeur qui peut être utilisé pour créer dynamiquement le contrôle. La classe TextBoxBase fournit d'autres méthodes dérivées du parent du control ou de classes d'ancêtres.

L'Utilisation du Texte d'une Zone de Texte

 

Introduction

Un contrôle est principalement destiné à afficher du texte, comme une étiquette, la zone de texte partage bon nombre des caractéristiques d'une étiquette : alignement du texte, des polices, des couleurs, etc..

L'aspect le plus important d'une zone de texte est son texte, que ce soit l'affichage ou l'application. Il s'agit de la propriété Text. Lorsque vous ajoutez un contrôle de zone de texte à une forme ou un autre conteneur, par défaut, il est laissé vide. Si vous souhaitez que le contrôle affiche le texte lorsque la forme se lance, tapez une chaîne dans le champ de propriété de Texte dans la fenêtre Propriétés.

Après la création d'une zone de texte, elle peut être vide, l'utilisateur peut commencer à taper dedans pour la remplir avec le texte. Vous pouvez par programmation assigner une chaîne pour l'occuper. Une autre façon que vous pouvez mettre ou ajouter du texte dans le contrôle est de coller le contenu du presse-papiers, à l'aide du texte à partir d'un autre contrôle. La syntaxe de la méthode Paste() est:

public void Paste();

À tout moment, pour savoir la longueur du texte dans le contrôle, vous pouvez récupérer la valeur de la propriété TextLength, qui est de type int.

La Sélection du texte

La sélection du texte d'un contrôle de zone de texte peut être effectuée par vous ou par un utilisateur. Pour sélectionner une partie du texte, vous pouvez spécifier le point de départ à l'aide de la propriété SelectionStart, qui est de type int. Après la position de départ, vous pouvez spécifier le nombre de caractères à inclure dans la sélection.

Pour le faire, utilisez la propriété SelectionLength, qui est de type int. Les propriétés SelectionStart et SelectionLength permettent de sélectionner du texte par programme. D'autre part, l'utilisateur sait aussi comment sélectionner une partie du texte du contrôle. Ces opérations peuvent également être effectuées en utilisant la méthode Select() de la classe TextBox. Sa syntaxe est la suivante :

public void Select(int start, int length);

Par ailleurs, l'utilisateur peut vouloir sélectionner le contenu entier du contrôle. Par programmation, sélectionnez l'ensemble du texte d'un contrôle de zone de texte, appelez la méthode SelectAll(). Sa syntaxe est la suivante :

public void SelectAll();

Lorsqu'un texte a été sélectionné dans le contrôle, pour obtenir ce texte, vous pouvez récupérer la valeur de la propriété SelectedText, qui est un handle vers la Chaîne.

Les Opérations sur le Texte

Après que le texte, en partie ou en totalité, a été sélectionné, vous ou l'utilisateur peut le manipuler. Par exemple, vous pouvez copier la sélection dans le presse-papiers. Ceci est fait en utilisant la méthode Copy(). Sa syntaxe est la suivante :

public void Copy();

Pour supprimer la partie du texte, l'utilisateur peut couper. Vous pouvez effectuer cela par programmation à l'aide de la méthode Cut(). Sa syntaxe est la suivante :

public void Cut();

Pour supprimer le contenu entier de la zone de texte, vous pouvez appeler la méthode Clear(). Sa syntaxe est la suivante :

public void Clear();

Toute opération effectuée sur la zone de texte peut être annulée à l'aide de la méthode Undo(), dont la syntaxe est la suivante :

public void Undo();

Pour empêcher une opération d'annulation, appelez la méthode ClearUndo(). Sa syntaxe est la suivante :

public void ClearUndo();

ApplicationAppliction : Présentation des zones de texte

  1. Créez une application windows form nommée ElementaryAddition2
  2. Concevez le formulaire comme suit :
     

    Elementary Addition

    Control

    Texte

    Nom

    TextAlign

    Police

    Propriétés supplémentaires

    Étiquette

    00

    lblOperand1

    Centre

    Nom : Tahoma
    Taille : 48
    En gras : true

    Redimensionnement automatique : true
    ForeColor : Blue

    Étiquette

    +

     

    Centre

    Nom : Arial
    Taille : 50
    En gras : true

    Redimensionnement automatique : true
    ForeColor : Maroon

    Étiquette

    00

    lblOperand2

    Centre

    Nom : Tahoma
    Taille : 48
    En gras : true

    Redimensionnement automatique : true
    ForeColor : Blue

    Étiquette

    =

     

    Centre

    Nom : Arial
    Taille : 50
    En gras : true

    Redimensionnement automatique : true
    ForeColor : Green

    TextBox

    000

    txtResult

    Centre

    Nom : Tahoma
    Taille : 48
    En gras : true

     

    Étiquette

    Nouvelle opération

    lblNewOperation

    Centre

    Nom : Tahoma, taille : 28 Bold : true

    Redimensionnement automatique : true
    BorderStyle : Fixed3D
    ForeColor : White
    BackColor:Maroon

    Étiquette

    Cocher

    lblCheckAnswer

    Centre

    Nom : Tahoma, taille : 28 Bold : true

    Redimensionnement automatique : true
    BorderStyle : Fixed3D
    ForeColor : White
    BackColor:Maroon

    Étiquette

    Quittez

    lblQuit

    Centre

    Nom : Tahoma, taille : 28 Bold : true

    Redimensionnement automatique : true
    BorderStyle : FixedSingle

  3. Double-cliquez sur l'étiquette de la nouvelle opération et mettez en oeuvre son événement comme suit :
    private void lblNewOperation_Click(object sender, EventArgs e)  
    {          
    	int operand1;          
    	int operand2;            
     
    	Random rnd = new Random();            
     
    	operand1 = rnd.Next(99);          
    	operand2 = rnd.Next(99);          
    	int result = operand1 + operand2;            
     
    	lblOperand1.Text = operand1.ToString();          
    	lblOperand2.Text = operand2.ToString();          
    	txtResult.Text   = "";         
    	txtResult.Focus();  
    }
  4. Retournez au formulaire et double-cliquez sur l'étiquette de vérification
  5. Implémentez son événement comme suit :
    private void lblCheckAnswer_Click(object sender, EventArgs e)  
    {          
    	int Operand1 = 0;          
    	int Operand2 = 0;          
    	int Result = 0;            
     
    	try          
    	{                  
    		Operand1 = int.Parse(lblOperand1.Text);          
    	}          
    	catch (FormatException)          
    	{                  
    		MessageBox.Show("Invalid Value");          
    	}
                
    	try          
    	{                  
    		Operand2 = int.Parse(lblOperand2.Text);          
    	}          
    	catch (FormatException)          
    	{                  
    		MessageBox.Show("Invalid Value");          
    	}
                
    	try          
    	{                  
    		Result = int.Parse(txtResult.Text);          
    	}          
    	catch (FormatException)          
    	{                 
    		MessageBox.Show("Invalid Answer");          
    	}
                
    	if (Result == (Operand1 + Operand2))                  
    		MessageBox.Show("WOW - Good Answer");          
    	else                  
    		MessageBox.Show("PSSST - Wrong Answer");            
    	lblNewOperation_Click(sender, e);  
    }
  6. Retournez au formulaire et double-cliquez sur Quit
  7. Implémentez son événement comme suit :
    private void lblQuit_Click(object sender, EventArgs e)  
    {              
    			Close();  
    }
  8. Exécutez l'application et testez-la
  9. Cliquez sur le bouton Fermer pour fermer le formulaire et retournez à votre environnement de programmation

Les Caractéristiques des zones de texte

 

Les Mnémoniques

Comme déjà mentionné, une zone de texte devrait être accompagnée d'une étiquette qui indique à quoi elle sert. Pour appuyer cette relation, le contrôle label fournit différentes propriétés. Un caractère de l'accélérateur est un symbole de l'étiquette qui fournit un accès facile à la zone de texte. Sur l'étiquette, un tel caractère est souligné. Un exemple serait Prénom. L'idée est que, si l'utilisateur appuie sur la touche ALT en combinaison avec le label' "¢ s a souligné le caractère, la zone de texte qu'il accompagne pourrait recevoir le focus.

Pour créer une clé de l'accélérateur, choisissez l'un des label's, les caractères et faites précéder d'un caractère perluète lors de la définition de sa légende. Un exemple pourrait être & prénom. Si vous souhaitez une étiquette pour afficher le caractère de l'accélérateur au lieu d'un signe clair, définissez le label' "¢ s la propriété UseMnemonic à la valeur true, ce qui est déjà sa valeur par défaut. Si vous définissez à vrai mais avez besoin d'afficher une esperluette, tapez deux caractères & où l'esperluette sera affichée.

La propriété UseMnemonic d'une étiquette est uniquement utilisée pour indiquer que l'étiquette afficherait un caractère de l'accélérateur et le symbole & tapé sur l'étiquette crée ce caractère de l'accélérateur. Pour indiquer quelle zone de texte pourrait recevoir le focus lorsque le caractère de l'accélérateur de l'étiquette est invoqué, vous devez vous assurer que vous établissez une séquence de l'onglet approprié à l'aide de l'élément de menu ordre de tabulation dans le menu principal ou la combinaison de TabStop / propriétés TabIndex. En général, l'étiquette devrait avoir un ordre de tabulation ou TabIndex est une valeur qui est juste - 1 de celle du contrôle qu'elle dessert.

ApplicationApplication : Création des zones de texte

  1. Pour démarrer une nouvelle application, dans le menu principal, cliquez sur Fichier - > New - > Projet (ou Fichier - >Nouveau projet)
  2. Dans le milieu de la liste, cliquez sur des applications Windows et définissez le nom sur PayrollProcessing1
  3. Cliquez sur OK
  4. Concevez le formulaire comme suit :
     
    Payroll Processing

    Control

    Nom

    Texte

    Other properties

    Zone de groupe

    GroupBox

     

    Employee Identification

     

    Étiquette

    Label

     

    &Employee Name::

     

    TextBox

    TextBox

    txtEmployeeName

     

     

    Étiquette

    Label

     

    Hourly &Salary:

     

    TextBox

    TextBox

    txtHourlySalary

     

     

    Zone de groupe

    GroupBox

     

    Time Values

     

    Étiquette

    Label

     

    Lundi

     

    Étiquette

    Label

     

    Mardi

     

    Étiquette

    Label

     

    Mercredi

     

    Étiquette

    Label

     

    Jeudi

     

    Étiquette

    Label

     

    Vendredi

     

    Étiquette

    Label

     

    Samedi

     

    Étiquette

    Label

     

    Dimanche

     

    Étiquette

    Label

     

    Première semaine :

     

    TextBox

    TextBox

    txtMonday1

    0.00

    TextAlign : Right

    TextBox

    TextBox

    txtTuesday1

    0.00

    TextAlign : Right

    TextBox

    TextBox

    txtWednesday1

    0.00

    TextAlign : Right

    TextBox

    TextBox

    txtThursday1

    0.00

    TextAlign : Right

    TextBox

    TextBox

    txtFriday1

    0.00

    TextAlign : Right

    TextBox

    TextBox

    txtSaturday1

    0.00

    TextAlign : Right

    TextBox

    TextBox

    txtSunday1

    0.00

    TextAlign : Right

    Étiquette

    Label

     

    Deuxième semaine :

     

    TextBox

    TextBox

    txtMonday2

    0.00

    TextAlign : Right

    TextBox

    TextBox

    txtTuesday2

    0.00

    TextAlign : Right

    TextBox

    TextBox

    txtWednesday2

    0.00

    TextAlign : Right

    TextBox

    TextBox

    txtThursday2

    0.00

    TextAlign : Right

    TextBox

    TextBox

    txtFriday2

    0.00

    TextAlign : Right

    TextBox

    TextBox

    txtSaturday2

    0.00

    TextAlign : Right

    TextBox

    TextBox

    txtSunday2

    0.00

    TextAlign : Right

    Zone de groupe

    GroupBox

     

    Traitement de la paie

     

    Étiquette

    Label

     

    Heures

     

    Étiquette

    Label

     

    Montant

     

    Étiquette

    Label

    btnCalculate

    Calculer

    Redimensionnement automatique : false

    Étiquette

    Label

     

    Régulière

     

    TextBox

    TextBox

    txtRegularTime

    0.00

    TextAlign : Right

    TextBox

    TextBox

    txtRegularAmount

    0.00

    TextAlign : Right

    Étiquette

    Label

     

    Rémunération nette :

     

    TextBox

    TextBox

    txtNetPay

    0.00

    TextAlign : Right

    Étiquette

    Label

     

    Heures supplémentaires

     

    TextBox

    TextBox

    txtOvertime

    0.00

    TextAlign : Right

    TextBox

    TextBox

    txtOvertimeAmount

    0.00

    TextAlign : Right

    Étiquette

    Label

    btnClose

     

    AutoSize: False

  5. Double-cliquez sur l'étiquette close et mettez en Å“uvre son événement Click comme suit :
    private void btnClose_Click(object sender,  EventArgs e)
    {
      	Close();
    }
  6. Enregistrez tout

L'attribut Read-Only

Par défaut, une zone de texte nouvellement créée est utilisée pour afficher et recevoir le texte de l'utilisateur. Si vous souhaitez que l'utilisateur lise le texte sans être capable de le modifier, définissez par la propriété ReadOnly Boolean à true. Sa valeur par défaut est false.

ApplicationApplication : Définition de l'attribut de lecture seule

  1. Sur le formulaire, cliquez sur la zone de texte à l'intersection du Temps et de la force Régulière
  2. Dans la fenêtre Propriétés, double-cliquez sur ReadOnly pour modifier sa valeur true
  3. Faites de même pour les zones de texte suivantes : txtRegularAmount, txtNetPay, txtOvertime et txtOvertimeAmount

L'Auto-Achévement d'une zone de texte

Si une zone de texte permet à l'utilisateur d'y entrer du texte, l'utilisateur peut cliquer sur le contrôle et commencer à taper. Si une certaine zone de texte reçoit habituellement certaines chaînes connues ou communes, vous pouvez aider l'utilisateur à compléter l'entrée. La classe TextBox le soutient avec trois propriétés.

Si vous voulez aider l'utilisateur à remplir la chaîne entrée dans une zone de texte, précisez tout d'abord d'où proviendront les chaînes nécessaires. Vous avez deux possibilités. Vous pouvez utiliser la propriété AutoCompleteSource, qui est basée sur l'énumération AutoCompleteSource. Ses membres sont : None, RecentlyUsedList, système de fichiers, FileSystemDirectories, HistoryList, ListItems, AllSystemSources, AllUrl et CustomSource.

Si vous souhaitez spécifier votre propre liste d'éléments créés, utilisez la propriété AutoCompleteCustomSource. Au moment du design, pour créer une liste de chaînes, accédez à la fenêtre de propriétés de la zone de texte. Dans la fenêtre Propriétés, cliquez sur le bouton du champ AutoCompleteCustomSource pour ouvrir l'éditeur de collections String. Entrez les chaînes séparées par un retour dur et cliquez sur OK.

Après avoir spécifié la source de la liste qui aidera l'utilisateur à terminer l'entrée de la zone de texte, définissez la propriété AutoCompleteMode. Cette propriété est basée sur l'énumération AutoCompleteMode qui a quatre membres. Aucune n'est la valeur par défaut.

ApplicationApplication : L'Auto-Achévement d'une zone de texte

  1. Sur le formulaire, cliquez sur la zone de texte txtEmployeeName
  2. Dans la fenêtre Propriétés, cliquez sur AutoCompleteCustomSource et cliquez sur le bouton
  3. Dans l'éditeur de collections String, entrez les noms suivants :
    Micheline Hammond
    Paul Bertrand Yamaguchi
    Gertrude Monay
    Ernestine Ngaleu
    Andy Barang
    Christophe Yuen
    Jean Michel Kankan
  4. Cliquez sur OK
  5. Cliquez sur AutoCompleteSource, puis cliquez sur la flèche de la zone de liste déroulante et sélectionnez CustomSource
  6. Cliquez sur AutoCompleteMode, puis cliquez sur la flèche de la zone de liste déroulante et sélectionnez Accepter
  7. Sur le formulaire, double-cliquez sur l'étiquette de calculer et mettez en Å“uvre son événement comme suit :
    private void btnCalculate_Click(object sender, EventArgs e)  
    {          
        double monday1 = 0.00, tuesday1 = 0.00, wednesday1 = 0.00,                      
    	thursday1 = 0.00, friday1 = 0.00, saturday1 = 0.00,                      
    	sunday1 = 0.00, monday2 = 0.00, tuesday2 = 0.00,                      
    	wednesday2 = 0.00, thursday2 = 0.00,           
    	friday2 = 0.00, saturday2 = 0.00, sunday2 = 0.00;           
    	double totalHoursWeek1, totalHoursWeek2;             
     
        double regHours1 = 0.00, regHours2 = 0.00,                       
    	ovtHours1 = 0.00, ovtHours2 = 0.00;           
        double regAmount1 = 0.00, regAmount2 = 0.00,                       
    	ovtAmount1 = 0.00, ovtAmount2 = 0.00;           
        double regularHours, overtimeHours;           
    	double regularAmount, overtimeAmount, totalEarnings;             
     
        double hourlySalary = 0.00;             
     
        // Retrieve the hourly salary           
        try           
        {                  
    	hourlySalary = double.Parse(txtHourlySalary.Text);           
        }          
        catch (FormatException)           
        {                  
    	MessageBox.Show("The value you typed for the salary is invalid \n" +                      
    			"Please try again");                  
    			txtHourlySalary.Focus();          
        } 
               
        // Retrieve the value of each day worked           
        try           
        {                  
    	monday1 = double.Parse(txtMonday1.Text);           
        }           
        catch (FormatException)           
        {                  
    	MessageBox.Show("You typed an invalid value\n" +                           
    			"Please try again");                  
    			txtMonday1.Focus();           
        }
    
        try           
        {                  
    	tuesday1 = double.Parse(txtTuesday1.Text);           
        }           
        catch (FormatException)           
        {                  
    	MessageBox.Show("You typed an invalid value\n" +                      
    			"Please try again");                  
    			this.txtTuesday1.Focus();          
        }
        
        try           
        {                  
    	wednesday1 = double.Parse(txtWednesday1.Text);           
        }           
        catch (FormatException)           
        {                  
    	MessageBox.Show("You typed an invalid value\n" +                      
    			"Please try again");                  
    			txtWednesday1.Focus();           
        }
    			
        try           
        {                  
    	thursday1 = double.Parse(txtThursday1.Text);          
        }           
        catch (FormatException)           
        {                  
    	MessageBox.Show("You typed an invalid value\n" +                      
    			"Please try again");                  
    			txtThursday1.Focus();           
        }             
    
        try           
        {                  
    	friday1 = double.Parse(txtFriday1.Text);           
        }           
        catch (FormatException)           
        {                  
    	MessageBox.Show("You typed an invalid value\n" +                      
    			"Please try again");                  
    			txtFriday1.Focus();           
        }             
    
        try           
        {                  
    	saturday1 = double.Parse(txtSaturday1.Text);           
        }           
        catch (FormatException)           
        {                  
    	MessageBox.Show("You typed an invalid value\n" +                      
    			"Please try again");                  
    	txtSaturday1.Focus();           
        }             
    
        try           
        {                  
    	sunday1 = double.Parse(txtSunday1.Text);           
        }           
        catch (FormatException)           
        {                  
    	MessageBox.Show("You typed an invalid value\n" +                      
    			"Please try again");                  
    	txtSunday1.Focus();              
        }              
    
        try              
        {                  
    	monday2 = double.Parse(txtMonday2.Text);              
        }              
        catch (FormatException)              
        {                  
    	MessageBox.Show("You typed an invalid value\n" +                      
    			"Please try again");                  
    	this.txtMonday2.Focus();              
        }              
    		
        try              
        {                  
    	tuesday2 = double.Parse(txtTuesday2.Text);              
        }              
        catch (FormatException)             
        {                  
    	MessageBox.Show("You typed an invalid value\n" +                      
    			"Please try again");                  
    	txtTuesday2.Focus();              
        }              
        try              
        {                  
    	wednesday2 = double.Parse(txtWednesday2.Text);              
        }              
        catch (FormatException)              
        {                  
    	MessageBox.Show("You typed an invalid value\n" +                      
    			"Please try again");                  
    	txtWednesday2.Focus();              
        }              
    
        try              
        {                  
    	thursday2 = double.Parse(txtThursday2.Text);             
        }              
        catch (FormatException)              
        {                  
    	MessageBox.Show("You typed an invalid value\n" +                      
    			"Please try again");                  
    	txtThursday2.Focus();              
        }
                     
        try              
        {                  
    	friday2 = double.Parse(txtFriday2.Text);              
        }              
        catch (FormatException)              
        {                  
    	MessageBox.Show("You typed an invalid value\n" +                      
    			"Please try again");                  
    	txtFriday2.Focus();              
        }              
    
        try              
        {                  
    	saturday2 = double.Parse(txtSaturday2.Text);              
        }              
        catch (FormatException)              
        {                
    	MessageBox.Show("You typed an invalid value\n" +                      
    			"Please try again");                  
    	txtSaturday2.Focus();             
        }              
    
        try              
        {                  
    	sunday2 = double.Parse(txtSunday2.Text);              
        }              
        catch (FormatException)              
        {                  
    	MessageBox.Show("You typed an invalid value\n" +                      
    			"Please try again");                  
    			txtSunday2.Focus();              
        }
                    
        // Calculate the total number of hours for each week             
        totalHoursWeek1 = monday1 + tuesday1 + wednesday1 +                   
     		thursday1 + friday1 + saturday1 + sunday1;              
    		totalHoursWeek2 = monday2 + tuesday2 + wednesday2 +                  
    		thursday2 + friday2 + saturday2 + sunday2;
                    
        // The overtime is paid time and half              
        double ovtSalary = hourlySalary * 1.5;
                    
        // If the employee worked under 40 hours, there is no overtime              
        if (totalHoursWeek1 < 40)              
        {                  
    	regHours1 = totalHoursWeek1;                  
    	regAmount1 = hourlySalary * regHours1;                  
    	ovtHours1 = 0.00;                  
    	ovtAmount1 = 0.00;              
        } // If the employee worked over 40 hours, calculate the overtime              
        else if (totalHoursWeek1 >= 40)              
        {                  
    	regHours1 = 40;                  
    	regAmount1 = hourlySalary * 40;                  
    	ovtHours1 = totalHoursWeek1 - 40;                  
    	ovtAmount1 = ovtHours1 * ovtSalary;              
        }                
     
        if (totalHoursWeek2 < 40)              
        {                  
    	regHours2 = totalHoursWeek2;                  
    	regAmount2 = hourlySalary * regHours2;                  
    	ovtHours2 = 0.00;                  
    	ovtAmount2 = 0.00;              
        }              
        else if (totalHoursWeek2 >= 40)              
        {                  
    	regHours2 = 40;                  
    	regAmount2 = hourlySalary * 40;                  
    	ovtHours2 = totalHoursWeek2 - 40;                  
    	ovtAmount2 = ovtHours2 * ovtSalary;              
        } 
                   
        regularHours = regHours1 + regHours2;              
        overtimeHours = ovtHours1 + ovtHours2;              
        regularAmount = regAmount1 + regAmount2;              
        overtimeAmount = ovtAmount1 + ovtAmount2;              
        totalEarnings = regularAmount + overtimeAmount;
                    
        txtRegularTime.Text = regularHours.ToString("F");              
        txtOvertime.Text = overtimeHours.ToString("F");              
        txtRegularAmount.Text = regularAmount.ToString("F");             
        txtOvertimeAmount.Text = overtimeAmount.ToString("F");
                    
        txtNetPay.Text = totalEarnings.ToString("F");          
    }

    8. Exécutez l'application pour voir le résultat
     

    Payroll Information

    9. Fermez le formulaire et retournez à votre environnement de programmation

Le Caractère Casing

Une zone de texte peut être configurée pour afficher uniquement des caractères minuscules, majuscules ou un mélange. Cette caractéristique est contrôlée par la propriété CharacterCasing, qui est un énumérateur qui possède le même nom. La valeur par défaut de cette propriété est Normale, qui indique que le contrôle peut utiliser une combinaison de caractères en majuscules et en minuscules. Si vous définissez cette propriété à Lower, tous les caractères existants, s'il en est, dans le contrôle seraient convertis en caractères minuscules et tous les caractères futurs tapés dans le contrôle seront automatiquement convertis en minuscules. Si vous définissez cette propriété à Upper, tous les caractères existants, s'il en est, dans le contrôle seraient convertis en caractères majuscules et tous les futurs tapés dans le contrôle seraient automatiquement convertis en majuscules.

Le Caractère Password

Le texte tapé dans une zone de texte apparaît avec ses caractères correspondants, sauf si vous changez l'effet de la propriété CharacterCasing de sa valeur par défaut Normale. Cela permet à l'utilisateur de voir, et être capable de lire les personnages de la commande. Si vous préférez faire les caractères non-lisibles, vous avez deux options.

Le système d'exploitation utilise un caractère par défaut qu'il utilise pour masquer le contenu d'une zone de texte. Si vous souhaitez utiliser ce caractère, définissez la propriété UseSystemPasswordChar à true. Si vous préférez spécifier votre propre personnage, vous pouvez utiliser la propriété PasswordChar. Bien que cette propriété est un type de données char, elle accomplit en fair l'évolution de deux choses:

  • Si vous tapez un caractère dans son domaine dans la fenêtre Propriétés, par exemple si vous tapez *, tout caractère tapé dedans serait illisible
  • N'importe quel caractère dans le contrôle serait remplacé par la valeur de cette propriété. Vous pouvez utiliser n'importe quel caractère alphabétique ou un chiffre pour représenter les caractères qui seraient saisis, mais vous devez fournir un seul caractère
 
 
 
 

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