我正在学习C#编程语言,正在为SAP business One制作工资单应用程序插件。我已经构建了一个自定义计算器,它有各种命令,添加,减去等等。我使用的是Visual Studio 2010。
输出“屏幕”是一个名为“formula_display”的富文本框。
我可以输入数字和命令,它们从左到右正确显示在formula_display上,即2 8 9 * <=
等
我还有操作数的输入按钮,例如(), <>, [] and {}
我的问题:
如果我输入4 * ()
,然后尝试输入一些数字,例如括号内的9(通过点击()以便将光标放在那里),我无法这样做,因为该数字将显示在括号后面,即4 * ()9
。
如何修改我的代码以解决问题:
private void btn9_Click(object sender, EventArgs e)
{
if (inputStatus)
{
formula_display.Text += btn9.Text;
}
else
{
formula_display.Text = btn9.Text;
inputStatus = true;
}
}
任何帮助表示赞赏。我正在使用Windows窗体
答案 0 :(得分:1)
在WPF中尝试这样的事情:
formula_display.SelectionLength = 0;
formula_display.Text.Insert(formula_display.CaretIndex, btn9.Text);
和WinForms中的类似内容:
formula_display.SelectionLength = 0;
formula_display.Text.Insert(formula_display.SelectionStart, btn9.Text);