Éditeur de texte de base dans VB.NET
Éditeur de texte de base dans VB.NET
Ce tutoriel vous guidera vers un tutoriel étape par étape sur la création d’un éditeur de texte de base dans VB.Net
Problème
Créez un programme d’application Windows Form dans Visual Basic.Net qui permettra aux utilisateurs de créer un éditeur de texte de base.
La description
Ce didacticiel permettra à l’utilisateur d’utiliser différents contrôles tels que RichTextBox, ToolStrip, MenuStrip, StatusStrip, Timer, SaveFileDialog, OpenFileDialog pour créer un éditeur de texte de base dans VB.NET.
Avant le didacticiel, les éléments suivants sont nécessaires pour démarrer:
- Microsoft Visual Studio 2012 – Ci-dessus
Le tutoriel commence ici:
- Ouvrez Microsoft Visual Studio 2012
- Sélectionnez un nouveau projet dans le menu Fichier.
- Sélectionnez Visual Basic, Application Windows Form, puis cliquez sur OK.
- Nous avons besoin de ces contrôles suivants sur notre formulaire.
- RichTextBox
- ToolStrip
- MenuStrip
- StatusStrip
- Minuteur
- SaveFileDialog
- OpenFileDialog
- Bande du menu contextuel
- Ajoutez d’abord les éléments de la barre de menus, de la barre d’outils et de la bande de menus contextuels, puis nous nommerons nos contrôles de formulaire de cette manière:
- Document est le nom de la zone de texte enrichi.
- Timer est le nom de la minuterie.
- lblZoom est le nom d’une étiquette de bande d’état pour le zoom.
- lblCharCount est le nom d’une autre bande d’état pour le nombre de caractères.
- tbNew est le nom de l’élément de la barre d’outils pour Nouveau document.
- tbopen est le nom de l’élément de la barre d’outils pour Ouvrir le document.
- tbsave est le nom de l’élément de la barre d’outils pour Enregistrer le document.
- tbcut est le nom de l’élément de la barre d’outils pour Couper le texte.
- tbcopy est le nom de l’élément de la barre d’outils pour Copier le texte.
- tbpaste est le nom de l’élément de la barre d’outils pour Coller du texte.
- tbbold est le nom de l’élément de la barre d’outils pour le texte en gras.
- tbitalic est le nom de l’élément de la barre d’outils pour le texte italique.
- tbunderline est le nom de l’élément de la barre d’outils pour le texte souligné.
- tbstrike est le nom de l’élément de la barre d’outils pour le texte Strike.
- tbalignleft est le nom de l’élément de la barre d’outils pour le texte Aligner à gauche.
- tbaligncentre est le nom de l’élément de la barre d’outils pour le texte Aligner au centre.
- tbalignright est le nom de l’élément de la barre d’outils pour le texte Aligner à droite.
- tbupper est le nom de l’élément de la barre d’outils pour le texte en majuscules.
- tblower est le nom de l’élément de la barre d’outils pour le texte en minuscules.
- tbzoom est le nom de l’élément de la barre d’outils pour le texte Zoom avant.
- tbzoomout est le nom de l’élément de la barre d’outils pour Zoom arrière sur le texte.
- tbselectfont est le nom de l’élément de la barre d’outils pour la police de texte.
- tbselectsize est le nom de l’élément de la barre d’outils pour la taille du texte.
- mMNew est le nom de l’élément du menu principal pour Nouveau document.
- mMOpen est le nom de l’élément du menu principal pour Ouvrir le document.
- mMSave est le nom de l’élément du menu principal pour Enregistrer le document.
- mMExit est le nom de l’élément du menu principal pour quitter le document.
- mMUndo est le nom de l’élément du menu principal pour Annuler le texte.
- mMRedo est le nom de l’élément du menu principal pour Redo Text.
- mMCut est le nom de l’élément du menu principal pour Couper le texte.
- mMCopy est le nom de l’élément du menu principal pour copier du texte.
- mMPaste est le nom de l’élément du menu principal pour Coller du texte.
- mMSelectAll est le nom de l’élément du menu principal pour Sélectionner tout le texte.
- mMCustomize est le nom de l’élément du menu principal pour personnaliser le texte.
- UndoToolStripMenuItem est le nom de l’élément de menu contextuel pour Annuler le texte.
- RedoToolStripMenuItem est le nom de l’élément de menu contextuel pour Redo Text.
- CutToolStripMenuItem est le nom de l’élément de menu contextuel pour Couper le texte.
- CopyToolStripMenuItem est le nom de l’élément de menu contextuel pour Copier le texte.
- PasteToolStripMenuItem est le nom de l’élément de menu contextuel pour Coller du texte.
- C’est ainsi que nous concevons le formulaire. (N’hésitez pas à mettre en page le vôtre)
Figure 1. Conception du formulaire
- Collez le code suivant en haut de l’éditeur de texte pour importer un service
Codez ici
Imports System.Drawing.Text
Code de fin
Explication du code:
Cela permettra à l’éditeur d’avoir accès à différentes touches de raccourci liées au texte et aux différentes fonctions et polices installées dans l’appareil.
- Double-cliquez sur le formulaire de la fenêtre et collez le code suivant:
Codez ici
For fntSize = 10 To 75 tbSelectSize.Items.Add(fntSize) Next Dim fonts As New InstalledFontCollection() For fntFamily As Integer = 0 To fonts.Families.Length - 1 tbSelectFont.Items.Add(fonts.Families(fntFamily).Name) Next
Code de fin
Explication du code:
Ce code chargera la taille de la police et toutes les polices installées et leurs familles de polices dans l’éditeur de texte. Cela chargera également les polices dans le Tbselectfont dans la barre d’outils
- Double-cliquez sur le minuteur et collez le code suivant:
Codez ici
lblCharCount.Text = "Characters in the current document: " & Document.TextLength.ToString() lblZoom.Text = Document.ZoomFactor.ToString()
Code de fin
Explication du code:
Ce code comptera le nombre de caractères et le niveau de zoom dans l’éditeur de texte puis l’affichera dans les libellés lblCharCount et lblZoom.
- Double-cliquez sur la zone Texte enrichi et collez le code suivant:
Codez ici
System.Diagnostics.Process.Start(e.LinkText)
Code de fin
Explication du code:
Ce code démarre un processus de diagnostic.
- Pour le code des éléments de la barre du menu principal, collez ce qui suit:
Codez ici
Private Sub mMNew_Click(sender As System.Object, e As System.EventArgs) Handles mMNew.Click NewDocument() End Sub Private Sub mMOpen_Click(sender As System.Object, e As System.EventArgs) Handles mMOpen.Click Open() End Sub Private Sub mMSave_Click(sender As System.Object, e As System.EventArgs) Handles mMSave.Click Save() End Sub Private Sub mMExit_Click(sender As System.Object, e As System.EventArgs) Handles mMExit.Click ExitApplication() End Sub '---------------------------- Private Sub mMUndo_Click(sender As System.Object, e As System.EventArgs) Handles mMUndo.Click Undo() End Sub Private Sub mMRedo_Click(sender As System.Object, e As System.EventArgs) Handles mMRedo.Click Redo() End Sub Private Sub mMCut_Click(sender As System.Object, e As System.EventArgs) Handles mMCut.Click Cut() End Sub Private Sub mMCopy_Click(sender As System.Object, e As System.EventArgs) Handles mMCopy.Click Copy() End Sub Private Sub mMPaste_Click(sender As System.Object, e As System.EventArgs) Handles mMPaste.Click Paste() End Sub Private Sub mMSelectAll_Click(sender As System.Object, e As System.EventArgs) Handles mMSelectAll.Click SelectAll() End Sub '----------------------- Private Sub mMCustomize_Click(sender As System.Object, e As System.EventArgs) Handles mMCustomize.Click Customize() End Sub
Code de fin
Explication du code:
Ces codes donneront une fonction pour chaque élément de la barre / bande de menu.
- Pour les éléments de la barre d’outils, collez le code suivant:
Codez ici
Private Sub tbNew_Click(sender As System.Object, e As System.EventArgs) Handles tbNew.Click NewDocument() End Sub Private Sub tbOpen_Click(sender As System.Object, e As System.EventArgs) Handles tbOpen.Click Open() End Sub Private Sub tbSave_Click(sender As System.Object, e As System.EventArgs) Handles tbSave.Click Save() End Sub Private Sub tbCut_Click(sender As System.Object, e As System.EventArgs) Handles tbCut.Click Cut() End Sub Private Sub tbCopy_Click(sender As System.Object, e As System.EventArgs) Handles tbCopy.Click Copy() End Sub Private Sub tbPaste_Click(sender As System.Object, e As System.EventArgs) Handles tbPaste.Click Paste() End Sub '--------------------------------- Private Sub tbBold_Click(sender As System.Object, e As System.EventArgs) Handles tbBold.Click Dim bfont As New Font(Document.Font, FontStyle.Bold) Dim rfont As New Font(Document.Font, FontStyle.Regular) If Document.SelectedText.Length = 0 Then Exit Sub If Document.SelectionFont.Bold Then Document.SelectionFont = rfont Else Document.SelectionFont = bfont End If End Sub Private Sub tbItalic_Click(sender As System.Object, e As System.EventArgs) Handles tbItalic.Click Dim Ifont As New Font(Document.Font, FontStyle.Italic) Dim rfont As New Font(Document.Font, FontStyle.Regular) If Document.SelectedText.Length = 0 Then Exit Sub If Document.SelectionFont.Italic Then Document.SelectionFont = rfont Else Document.SelectionFont = Ifont End If End Sub Private Sub tbUnderline_Click(sender As System.Object, e As System.EventArgs) Handles tbUnderline.Click Dim Ufont As New Font(Document.Font, FontStyle.Underline) Dim rfont As New Font(Document.Font, FontStyle.Regular) If Document.SelectedText.Length = 0 Then Exit Sub If Document.SelectionFont.Underline Then Document.SelectionFont = rfont Else Document.SelectionFont = Ufont End If End Sub Private Sub tbStrike_Click(sender As System.Object, e As System.EventArgs) Handles tbStrike.Click Dim Sfont As New Font(Document.Font, FontStyle.Strikeout) Dim rfont As New Font(Document.Font, FontStyle.Regular) If Document.SelectedText.Length = 0 Then Exit Sub If Document.SelectionFont.Strikeout Then Document.SelectionFont = rfont Else Document.SelectionFont = Sfont End If End Sub ' ------------------------------- Private Sub tbAlignLeft_Click(sender As System.Object, e As System.EventArgs) Handles tbAlignLeft.Click Document.SelectionAlignment = HorizontalAlignment.Left End Sub Private Sub tbAlignCentre_Click(sender As System.Object, e As System.EventArgs) Handles tbAlignCentre.Click Document.SelectionAlignment = HorizontalAlignment.Center End Sub Private Sub tbAlignRight_Click(sender As System.Object, e As System.EventArgs) Handles tbAlignRight.Click Document.SelectionAlignment = HorizontalAlignment.Right End Sub '---------------------------------------------- Private Sub tbUpper_Click(sender As System.Object, e As System.EventArgs) Handles tbUpper.Click Document.SelectedText = Document.SelectedText.ToUpper() End Sub Private Sub tbLower_Click(sender As System.Object, e As System.EventArgs) Handles tbLower.Click Document.SelectedText = Document.SelectedText.ToLower() End Sub '--------------------------------------- Private Sub tbZoom_Click(sender As System.Object, e As System.EventArgs) Handles tbZoom.Click If Document.ZoomFactor = 63 Then Exit Sub Else Document.ZoomFactor = Document.ZoomFactor + 1 End If End Sub Private Sub tbZoomOut_Click(sender As System.Object, e As System.EventArgs) Handles tbZoomOut.Click If Document.ZoomFactor = 1 Then Exit Sub Else Document.ZoomFactor = Document.ZoomFactor - 1 End If End Sub '------------------------------------------ Private Sub tbSelectFont_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles tbSelectFont.SelectedIndexChanged Dim ComboFonts As System.Drawing.Font Try ComboFonts = Document.SelectionFont Document.SelectionFont = New System.Drawing.Font(tbSelectFont.Text, Document.SelectionFont.Size, Document.SelectionFont.Style) Catch ex As Exception MsgBox(ex.Message) End Try End Sub Private Sub tbSelectSize_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles tbSelectSize.SelectedIndexChanged Document.SelectionFont = New Font(tbSelectSize.SelectedItem.ToString, CInt(tbSelectSize.SelectedItem.ToString), Document.SelectionFont.Style) End Sub
Encoder
Explication du code:
Ce code donnera une fonction pour chaque outil / élément de la barre d’outils en fonction de ce que chaque outil doit faire.
- Pour les fonctions de l’éditeur de texte, collez ce qui suit
Codez ici
'CLEAR THE RICHTEXTBOX - MAKES NEW DOCUMENT Private Sub NewDocument() Document.Clear() End Sub 'OPEN WORK AS PLAIN TEXT FILE Private Sub Open() If openWork.ShowDialog = Windows.Forms.DialogResult.OK Then Document.LoadFile(openWork.FileName, _ RichTextBoxStreamType.PlainText) End If End Sub 'SAVE WORK AS PLAIN TEXT FILE Private Sub Save() If saveWork.ShowDialog = Windows.Forms.DialogResult.OK Then Try Document.SaveFile(saveWork.FileName, _ RichTextBoxStreamType.PlainText) Catch ex As Exception MessageBox.Show(ex.Message) End Try End If End Sub 'EXIT THE PROGRAM Private Sub ExitApplication() Me.Close() End Sub
Code de fin
Explication du code:
Ces codes sont destinés à raccourcir le code de chaque fonction utilisée pour l’éditeur de texte de base, comme l’ouverture et l’enregistrement du fichier texte, l’effacement et la sortie du programme.
- Pour la fonction de certains outils de l’éditeur de texte, collez ce qui suit:
Codez ici
Private Sub Undo() Document.Undo() End Sub Private Sub Redo() Document.Redo() End Sub Private Sub Cut() Document.Cut() End Sub Private Sub Copy() Document.Copy() End Sub Private Sub Paste() Document.Paste() End Sub Private Sub SelectAll() Document.SelectAll() End Sub Private Sub Customize() Dim ColorPicker As New ColorDialog() ColorPicker.AllowFullOpen = True ColorPicker.FullOpen = True ColorPicker.AnyColor = True If ColorPicker.ShowDialog = Windows.Forms.DialogResult.OK Then mainMenu.BackColor = ColorPicker.Color Tools.BackColor = ColorPicker.Color Status.BackColor = ColorPicker.Color End If
Code de fin
Explication du code:
Ces codes sont utilisés pour activer les fonctions de certains outils de la barre d’outils, tels que annuler, copier, coller, couper, tout sélectionner, refaire et personnaliser.
- Pour l’outil dans la bande d’outils, collez les codes suivants:
Codez ici
Private Sub UndoToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles UndoToolStripMenuItem.Click Undo() End Sub Private Sub RedoToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles RedoToolStripMenuItem.Click Redo() End Sub Private Sub CutToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles CutToolStripMenuItem.Click Cut() End Sub Private Sub CopyToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles CopyToolStripMenuItem.Click Copy() End Sub Private Sub PasteToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles PasteToolStripMenuItem.Click Paste() End Sub
Code de fin
Explication du code:
Cela attribuera une fonction à chaque outil dans la bande de menu contextuel lors d’un clic droit.
Conclusion:
Avec l’utilisation de l’éditeur de texte, vous pouvez désormais formater votre texte et votre contenu. Le projet et le code source sont disponibles pour téléchargement et vous pouvez le modifier en fonction de vos préférences et exigences.
Auteur:
Nom: Charlie Devera
Adresse électronique: [email protected]
Téléchargement gratuit du code source (éditeur de texte de base dans VB.Net)
Vous pouvez visiter notre Facebook page pour plus d’informations, demandes de renseignements et commentaires.
Louer notre équipe pour faire le projet.