我在我的项目中使用QTextBox
从Qios DevSuite调用的组件。
与 .NET 中默认发生的情况类似TextBox
,当用户在键入时按下Control+Backspace时,不是删除光标左侧的单词,而是插入字符 ''。
为了解决这个问题,我想我会做类似的事情
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)