我有一个TEdit盒子,KeyUp如果我用"-"空白替换任何出现的"". 当我在 Win32 上运行时,它的工作方式完全符合我的预期 - 每当我键入-密钥时,它都会短暂显示然后被删除。
当我在 iOS 上运行并反复按下该键时,我每隔一次按下-就会删除编辑框中的最后一个字符。例外是第二次和第三次按下,我两次都删除了最后一个字符。它应该只是删除.--
例如,如果我从123456编辑开始并开始按减号键,我会得到您在下面这个 gif 中看到的内容:
表格形式的结果如下:
void __fastcall TForm1::EditConstantKeyUp(TObject *Sender, WORD &Key, System::WideChar &KeyChar,
TShiftState Shift)
{
if (KeyChar == 45) { // minus key pressed (ascii code for that key is 45)
EditConstant->Text = StringReplace(EditConstant->Text, "-", "", TReplaceFlags() << rfReplaceAll);
}
我在这里缺少什么基本的东西?我正在使用 C++ Builder 在 Rad Studio 10.3.2 中工作。

