可能であれば、上、下、および大文字と小文字を一致させて検索したいと思います。私を始めるためのリンクさえあれば幸いです。
1614 次
2 に答える
1
リッチ テキスト ボックス自体で「検索」メソッドを使用できます。
"Match Case" のチェック ボックスと "Search Up" のチェック ボックスを備えたフォームをセットアップし、RichTextBox コントロールを受け取る ControlToSearch という名前の検索フォームにプロパティを追加した場合、次のようなことができます。
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);
}
于 2009-05-08T11:12:39.093 に答える
0
アップ検索についてはわかりませんが、見つける限り、このようなものを使用できます
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;
大文字と小文字が一致した場合はString.ToLowerInvariant()
、テキスト内検索とテキスト検索の両方で使用できます。それ以外の場合String.Contains()
は大文字と小文字が区別されます
searchIn.ToLowerInvariant().Contains(SearchFor.ToLowerInvariant())
于 2009-05-07T22:33:11.150 に答える