プロジェクトでQios DevSuiteQTextBox
から呼び出されるコンポーネントを使用しています。
.NET でデフォルトで発生するのと同様に、ユーザーが入力中に+をTextBox
押すと、カーソルから残った単語を削除する代わりに、代わりに文字 '' が挿入されます。ControlBackspace
この問題を解決するには、次のようなことをすると思いました
public class QTextBoxEx : QTextBox
{
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.Back))
{
// here goes my word removal code
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
}
これは良いアプローチですか、それともこの種の動作を実装するための .NET 組み込みシステムが既にありますか? また、検索文字列から最後の単語を削除する「最もクリーンな」方法は何でしょうか? (私は string.Replace と Regex を今考えることができます)