''' ''' This class provides four subroutines used to: ''' Find (find the first instance of a search term) ''' Find Next (find other instances of the search term after the first one is found) ''' Replace (replace the current selection with replacement text) ''' Replace All (replace all instances of search term with replacement text) ''' ''' Public Class frmReplace Private Sub btnFind_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFind.Click Dim StartPosition As Integer Dim SearchType As CompareMethod If chkMatchCase.Checked = True Then SearchType = CompareMethod.Binary Else SearchType = CompareMethod.Text End If StartPosition = InStr(1, frmMain.rtbDoc.Text, txtSearchTerm.Text, SearchType) If StartPosition = 0 Then MessageBox.Show("String: '" & txtSearchTerm.Text.ToString() & "' not found", "No Matches", MessageBoxButtons.OK, MessageBoxIcon.Asterisk) Exit Sub End If frmMain.rtbDoc.Select(StartPosition - 1, txtSearchTerm.Text.Length) frmMain.rtbDoc.ScrollToCaret() frmMain.Focus() End Sub Private Sub btnFindNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFindNext.Click Dim StartPosition As Integer = frmMain.rtbDoc.SelectionStart + 2 Dim SearchType As CompareMethod If chkMatchCase.Checked = True Then SearchType = CompareMethod.Binary Else SearchType = CompareMethod.Text End If StartPosition = InStr(StartPosition, frmMain.rtbDoc.Text, txtSearchTerm.Text, SearchType) If StartPosition = 0 Then MessageBox.Show("String: '" & txtSearchTerm.Text.ToString() & "' not found", "No Matches", MessageBoxButtons.OK, MessageBoxIcon.Asterisk) Exit Sub End If frmMain.rtbDoc.Select(StartPosition - 1, txtSearchTerm.Text.Length) frmMain.rtbDoc.ScrollToCaret() frmMain.Focus() End Sub Private Sub btnReplace_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReplace.Click If frmMain.rtbDoc.SelectedText.Length <> 0 Then frmMain.rtbDoc.SelectedText = txtReplacementText.Text End If Dim StartPosition As Integer = frmMain.rtbDoc.SelectionStart + 2 Dim SearchType As CompareMethod If chkMatchCase.Checked = True Then SearchType = CompareMethod.Binary Else SearchType = CompareMethod.Text End If StartPosition = InStr(StartPosition, frmMain.rtbDoc.Text, txtSearchTerm.Text, SearchType) If StartPosition = 0 Then MessageBox.Show("String: '" & txtSearchTerm.Text.ToString() & "' not found", "No Matches", MessageBoxButtons.OK, MessageBoxIcon.Asterisk) Exit Sub End If frmMain.rtbDoc.Select(StartPosition - 1, txtSearchTerm.Text.Length) frmMain.rtbDoc.ScrollToCaret() frmMain.Focus() End Sub Private Sub btnReplaceAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReplaceAll.Click Dim currentPosition As Integer = frmMain.rtbDoc.SelectionStart Dim currentSelect As Integer = frmMain.rtbDoc.SelectionLength frmMain.rtbDoc.Rtf = Replace(frmMain.rtbDoc.Rtf, Trim(txtSearchTerm.Text), Trim(txtReplacementText.Text)) frmMain.rtbDoc.SelectionStart = currentPosition frmMain.rtbDoc.SelectionLength = currentSelect frmMain.Focus() End Sub End Class