如何从文本框中的字符串中删除最后一个字符?

问题描述

我正在尝试创建一个类似于 Windows 的计算器程序,但我目前在制作退格键时遇到了问题。单击它时,它应该从 textBox 文本字段中删除最后一个字符。 在这里,我认为可行:

private: System::Void button14_Click(System::Object^ sender,System::EventArgs^ e) {
textBox1->Text[textBox1->TextLength] = "";  }

错误列表如下所示:

The error list

我在网上也看到过使用 pop_back()、remove() 和 erase() 的建议,但我不知道如何使用它们。

解决方法

字符串是不可变的......你不能在技术上改变字符串。

IDK 如何在奇怪的 CLI C++ 语法中编写此代码,但类似于:

String^ s = textBox1->Text;
s = s^.Substring(0,s.Length - 1); // original s preserved,but no longer used
textBox1->Text = s;

IDK 如果它允许类似的东西,但如果它允许,我更喜欢它:

auto s = textBox1->Text;
s = s^.Substring(0,but no longer used
textBox1->Text = s;