それSelectionStart
は喜びです。それはTextBoxBaseの一部であるため、、、、、または他のカスタム派生物でさえもTextBox
持つことができます。イベントをサブスクライブして「検索」を監視し、自動入力後にそこに設定してから、の方向転換を防ぐためにサブスクライブする必要があります。RichTextBox
MaskedTextBox
TextChanged
SelectionStart
SelectionChangedEvent
SelectionStart
ああ、そしてあなたがいくつかのキーワードを持っているなら、あなたはメソッドを一般化するためDictionary
にある種のそれらのキーワードを組み合わせたいと思うでしょう。Tuples
私のテストコードを編集します。ちらつきやオーバーライドコントロールはありません。単なるイベントサブスクライバー
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
if (richTextBox1.Text == "Search")
{
richTextBox1.Text = "Search \"\"";
richTextBox1.SelectionStart = richTextBox1.TextLength - 1;
}
}
private void richTextBox1_SelectionChanged(object sender, EventArgs e)
{
if (richTextBox1.Text.StartsWith("Search \"") && richTextBox1.Text.EndsWith("\""))
{
if (richTextBox1.SelectionStart > richTextBox1.TextLength - 1)
{
richTextBox1.SelectionStart = richTextBox1.TextLength - 1;
}
if (richTextBox1.SelectionStart <= "Search \"".Length)
{
richTextBox1.SelectionStart = "Search\"".Length+1;
}
}
}