Frage

Ich mag suchen nach oben, unten, und Groß- und Kleinschreibung, wenn möglich. Auch Links zu mir würde geschätzt beginnen.

War es hilfreich?

Lösung

Nicht sicher die oben gesucht, aber so weit wie finden Sie so etwas wie diese verwenden können,

int selStart = ControltoSearch.SelectionStart;
int selLength = ControltoSearch.SelectionLength;
int newLength = SearchFor.Length;

int newStart = searchIn.IndexOf(SearchFor, selStart + selLength, compareType);

ControltoSearch.SelectionStart = newStart >= 0 ? newStart : 0;
ControltoSearch.SelectionLength = newLength;
ControltoSearch.ScrollToCaret();
ControltoSearch.Focus();

return newStart;

Für matched Sie String.ToLowerInvariant() sowohl auf der Suche in Text und die Suche nach Text verwenden können, sonst String.Contains() Groß- und Kleinschreibung

searchIn.ToLowerInvariant().Contains(SearchFor.ToLowerInvariant())

Andere Tipps

Sie könnten die "Find" -Methode auf der Rich-Text-Box selbst verwendet werden.

Wenn Sie Setup ein Formular mit einem Kontrollkästchen für „Match-Fall“ und ein Kontrollkästchen für „Search Up“ und haben eine Eigenschaft auf Ihre Entdeckung Form genannt ControlToSearch hinzugefügt, die in einem RichTextBox-Steuerelement führt Sie so etwas wie das folgende tun könnte :

RichTextBoxFinds options = RichTextBoxFinds.None;

int from = ControlToSearch.SelectionStart;
int to = ControlToSearch.TextLength - 1;

if (chkMatchCase.Checked)
{
    options = options | RichTextBoxFinds.MatchCase;
}
if (chkSearchUp.Checked)
{
    options = options | RichTextBoxFinds.Reverse;
    to = from;
    from = 0;
}

int start = 0;
start = ControlToSearch.Find(txtSearchText.Text, from, to, options);

if (start > 0)
{
    ControlToSearch.SelectionStart = start;
    ControlToSearch.SelectionLength = txtSearchText.TextLength;
    ControlToSearch.ScrollToCaret();
    ControlToSearch.Refresh();
    ControlToSearch.Focus();
}
else
{
    MessageBox.Show("No match found", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top