[go: up one dir, main page]

0% found this document useful (0 votes)
11 views4 pages

VBNet Notepad Full Features

This document provides the full source code for a Notepad application developed in VB.NET, featuring standard editing functionalities along with enhancements such as Find/Replace, Dark Mode, and Word Count. It details the form design requirements and the implemented features, including file management and text formatting options. Additionally, it includes code snippets for various functionalities like opening, saving files, and updating the status bar.

Uploaded by

yashwanthauppar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views4 pages

VBNet Notepad Full Features

This document provides the full source code for a Notepad application developed in VB.NET, featuring standard editing functionalities along with enhancements such as Find/Replace, Dark Mode, and Word Count. It details the form design requirements and the implemented features, including file management and text formatting options. Additionally, it includes code snippets for various functionalities like opening, saving files, and updating the status bar.

Uploaded by

yashwanthauppar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

VB.

NET Notepad - Full Source Code and Features

Overview

This document includes a full-featured Notepad application built using VB.NET and Windows Forms. It

contains standard editing features and enhancements like Find/Replace, Dark Mode, Word Count, and more.

Form Design Requirements

- MenuStrip1

- TextBox1 (Multiline=True, Dock=Fill, ScrollBars=Both)

- StatusStrip1 with ToolStripStatusLabel1

Main Features Implemented

- File: New, Open, Save, Exit

- Edit: Undo, Redo, Cut, Copy, Paste, Select All, Find, Replace

- Format: Word Wrap, Font

- View: Dark Mode, Read Only

- Tools: Word Count

- Status Bar: Line and Column tracking

Imports System.IO

Public Class Form1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load


Me.Text = "Untitled - Notepad"
TextBox1.WordWrap = True
ToolStripStatusLabel1.Text = "Ln 1, Col 1"

' Load recent file


If Not String.IsNullOrEmpty(My.Settings.RecentFile) Then
Dim recent = My.Settings.RecentFile
If File.Exists(recent) Then
Dim result = MessageBox.Show("Open recent file: " & recent & "?", "Recent File",
MessageBoxButtons.YesNo)
If result = DialogResult.Yes Then
TextBox1.Text = File.ReadAllText(recent)
Me.Text = Path.GetFileName(recent) & " - Notepad"
End If
End If
End If
End Sub

' --- File Menu ---


Private Sub NewToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles
NewToolStripMenuItem.Click
TextBox1.Clear()
Me.Text = "Untitled - Notepad"
End Sub

Private Sub OpenToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles


OpenToolStripMenuItem.Click
Using ofd As New OpenFileDialog()
ofd.Filter = "Text Files|*.txt|All Files|*.*"
If ofd.ShowDialog() = DialogResult.OK Then
TextBox1.Text = File.ReadAllText(ofd.FileName)
Me.Text = Path.GetFileName(ofd.FileName) & " - Notepad"
My.Settings.RecentFile = ofd.FileName
My.Settings.Save()
End If
End Using
End Sub

Private Sub SaveToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles


SaveToolStripMenuItem.Click
Using sfd As New SaveFileDialog()
sfd.Filter = "Text Files|*.txt|All Files|*.*"
If sfd.ShowDialog() = DialogResult.OK Then
File.WriteAllText(sfd.FileName, TextBox1.Text)
Me.Text = Path.GetFileName(sfd.FileName) & " - Notepad"
End If
End Using
End Sub

Private Sub ExitToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles


ExitToolStripMenuItem.Click
Me.Close()
End Sub

' --- Edit Menu ---


Private Sub UndoToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles
UndoToolStripMenuItem.Click
TextBox1.Undo()
End Sub

Private Sub RedoToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles


RedoToolStripMenuItem.Click
TextBox1.Redo()
End Sub

Private Sub CutToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles


CutToolStripMenuItem.Click
TextBox1.Cut()
End Sub

Private Sub CopyToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles


CopyToolStripMenuItem.Click
TextBox1.Copy()
End Sub

Private Sub PasteToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles


PasteToolStripMenuItem.Click
TextBox1.Paste()
End Sub

Private Sub SelectAllToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles


SelectAllToolStripMenuItem.Click
TextBox1.SelectAll()
End Sub

Private Sub FindToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles


FindToolStripMenuItem.Click
Dim findText As String = InputBox("Enter text to find:", "Find")
If Not String.IsNullOrEmpty(findText) Then
Dim index As Integer = TextBox1.Text.IndexOf(findText,
StringComparison.OrdinalIgnoreCase)
If index >= 0 Then
TextBox1.Select(index, findText.Length)
TextBox1.Focus()
Else
MessageBox.Show("Text not found.", "Find")
End If
End If
End Sub

Private Sub ReplaceToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles


ReplaceToolStripMenuItem.Click
Dim findText As String = InputBox("Enter text to find:", "Replace")
If String.IsNullOrEmpty(findText) Then Exit Sub

Dim replaceText As String = InputBox("Enter replacement text:", "Replace")


TextBox1.Text = TextBox1.Text.Replace(findText, replaceText)
End Sub

' --- Format Menu ---


Private Sub WordWrapToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles
WordWrapToolStripMenuItem.Click
TextBox1.WordWrap = Not TextBox1.WordWrap
WordWrapToolStripMenuItem.Checked = TextBox1.WordWrap
End Sub

Private Sub FontToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles


FontToolStripMenuItem.Click
Using fontDlg As New FontDialog()
fontDlg.Font = TextBox1.Font
If fontDlg.ShowDialog() = DialogResult.OK Then
TextBox1.Font = fontDlg.Font
End If
End Using
End Sub

' --- View Menu ---


Private Sub DarkModeToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles
DarkModeToolStripMenuItem.Click
If DarkModeToolStripMenuItem.Checked Then
TextBox1.BackColor = Color.Black
TextBox1.ForeColor = Color.White
Else
TextBox1.BackColor = Color.White
TextBox1.ForeColor = Color.Black
End If
End Sub

Private Sub ReadOnlyToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles


ReadOnlyToolStripMenuItem.Click
TextBox1.ReadOnly = ReadOnlyToolStripMenuItem.Checked
End Sub

' --- Tools Menu ---


Private Sub WordCountToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles
WordCountToolStripMenuItem.Click
Dim text = TextBox1.Text
Dim wordCount = text.Split(New Char() {" "c, vbLf, vbCr},
StringSplitOptions.RemoveEmptyEntries).Length
Dim charCount = text.Length
MessageBox.Show($"Words: {wordCount}{vbCrLf}Characters: {charCount}", "Count")
End Sub

' --- Status Bar ---


Private Sub UpdateStatusBar()
Dim line = TextBox1.GetLineFromCharIndex(TextBox1.SelectionStart)
Dim column = TextBox1.SelectionStart - TextBox1.GetFirstCharIndexOfCurrentLine()
ToolStripStatusLabel1.Text = $"Ln {line + 1}, Col {column + 1}"
End Sub

Private Sub TextBox1_KeyUp(sender As Object, e As KeyEventArgs) Handles TextBox1.KeyUp


UpdateStatusBar()
End Sub

Private Sub TextBox1_MouseUp(sender As Object, e As MouseEventArgs) Handles TextBox1.MouseUp


UpdateStatusBar()
End Sub

End Class

You might also like