Windows Forms - Menus, Dialogues et Fichiers
10. Le TextBox (Zone de texte)
Pour l'affichage de contenu textuel important :
- Multiline : Doit être à
Truepour permettre plusieurs lignes. - ScrollBars : Mettre à
Bothpour avoir des barres de défilement horizontales et verticales. - Dock : Mettre à
Fillpour que le TextBox occupe tout l'espace restant du formulaire.
11. Le MenuStrip
Le MenuStrip permet d'ajouter une barre de menus en haut de la fenêtre.
- Renommer : Toujours nommer le MenuStrip avec son nom complet (ex:
menuStripPrincipal). - Mnémoniques (&) : Placer un
&devant une lettre dans le texte (ex:&Fichier) pour qu'elle soit soulignée et accessible viaAlt + F. - Shortcut Keys : Propriété permettant de définir des raccourcis clavier (ex:
Ctrl + Opour Ouvrir).
12. Dialogues d'ouverture et d'enregistrement
Les composants OpenFileDialog et SaveFileDialog permettent d'interagir avec le système de fichiers.
- Filter : Définit les types de fichiers visibles.
- Exemple :
Fichiers texte (*.txt)|*.txt|Tous les fichiers (*.*)|*.*
- Exemple :
13. Lecture de fichier (StreamReader)
Pour lire le contenu d'un fichier et l'afficher dans un TextBox :
private void menuOuvrir_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialogCharger = new OpenFileDialog();
openFileDialogCharger.Filter = "Fichiers texte (*.txt)|*.txt";
if (openFileDialogCharger.ShowDialog() == DialogResult.OK)
{
// Création manuelle du lecteur
StreamReader reader = new StreamReader(openFileDialogCharger.FileName);
// Lecture complète du contenu
textBoxContenu.Text = reader.ReadToEnd();
// TRÈS IMPORTANT : On doit fermer le flux manuellement
reader.Close();
}
}
14. Écriture de fichier (StreamWriter)
Pour enregistrer le contenu d'un TextBox dans un fichier, on utilise StreamWriter.
Les étapes pour un code propre :
- AutoFlush : Propriété qui, si elle est à
true, force l'écriture sur le disque à chaque fois qu'on utiliseWrite(). - Flush() : Méthode qui vide le tampon (buffer) vers le fichier. C'est l'action de "pousser" physiquement les données vers le disque.
- Close() : Libère le fichier. Si on oublie cette étape, Windows considère que le fichier est encore utilisé et empêchera de le supprimer ou de le renommer (fichier "verrouillé").
private void menuEnregistrer_Click(object sender, EventArgs e)
{
SaveFileDialog saveFileDialogEnregistrer = new SaveFileDialog();
saveFileDialogEnregistrer.Filter = "Fichiers texte (*.txt)|*.txt";
if (saveFileDialogEnregistrer.ShowDialog() == DialogResult.OK)
{
// Création du flux d'écriture
StreamWriter writer = new StreamWriter(saveFileDialogEnregistrer.FileName);
// Optionnel : force l'écriture immédiate après chaque modification
writer.AutoFlush = true;
// Écriture du contenu du TextBox
writer.Write(textBoxContenu.Text);
// Pour un code propre, on vide et on ferme TOUJOURS
writer.Flush();
writer.Close();
}
}
15. ColorDialog (Changer la couleur)
Le ColorDialog permet à l'utilisateur de choisir une couleur.