Back to Devexpress

How to: Customize the Find and Replace Dialog in Rich Text Editor for WinForms

windowsforms-6877-controls-and-libraries-rich-text-editor-examples-ui-customization-how-to-customize-the-search-form.md

latest2.6 KB
Original Source

How to: Customize the Find and Replace Dialog in Rich Text Editor for WinForms

  • Mar 09, 2023

This example demonstrates how handle the RichEditControl.SearchFormShowing event to replace the standard Find and Replace dialog with a custom dialog.

csharp
private void richEditControl1_SearchFormShowing(object sender, SearchFormShowingEventArgs e)
{
    string curWord = richEditControl.Document.GetText(richEditControl.Document.Selection);
    using (MySearchTextForm form = new MySearchTextForm(e.ControllerParameters, curWord))
    {
        e.DialogResult = form.ShowDialog();
        e.Handled = true;
    }
}
vb
Private Sub richEditControl1_SearchFormShowing(ByVal sender As Object, ByVal e As SearchFormShowingEventArgs)
Dim curWord As String = richEditControl.Document.GetText(richEditControl.Document.Selection)
Using form As New MySearchTextForm(e.ControllerParameters, curWord)
    e.DialogResult = form.ShowDialog()
    e.Handled = True
End Using
End Sub
csharp
using System.Drawing;
using DevExpress.XtraRichEdit.Forms;

namespace CustomDialogs
{
    public partial class MySearchTextForm : SearchTextForm
    {
        public MySearchTextForm(SearchFormControllerParameters controllerParameters, string searchWord)
            : base(controllerParameters)
        {
            lblFndDirection.Location = new Point (lblFndDirection.Location.X - 10, lblFndDirection.Location.Y);
            lblFndDirection.Text = "Direction:";
            cbFndSearchString.Text = searchWord;
            chbFndRegex.Enabled = false;
        }
    }
}
vb
Imports Microsoft.VisualBasic
Imports System.Drawing
Imports DevExpress.XtraRichEdit.Forms

Namespace CustomDialogs
    Partial Public Class MySearchTextForm
        Inherits SearchTextForm
        Public Sub New(ByVal controllerParameters As SearchFormControllerParameters, ByVal searchWord As String)
            MyBase.New(controllerParameters)
            lblFndDirection.Location = New Point (lblFndDirection.Location.X - 10, lblFndDirection.Location.Y)
            lblFndDirection.Text = "Direction:"
            cbFndSearchString.Text = searchWord
            chbFndRegex.Enabled = False
        End Sub
    End Class
End Namespace