上一节我们完成了界面设计。这节我们继续。
我们预期的是:输入框输入公式之后。按回车键。就开始计算。但默认情况下。在输入框中输入回车键。会导致内容换行。而不是计算。
如图。我敲了回车键以后。光标就跑到下一行了。这就要求程序能够截获输入框的按键。需要怎么做呢?
首先需要添加输入框的键盘响应事件。我们切换到事件窗口。拉动滚动条。找到Key开头的事件。发现有3个。
选中后。下方有提示。
KeyDown是按下的时候触发;KeyUp是弹起的时候触发;KeyPress是按下后再抬起的时候触发;
很明显。我们是要在按下的时候就检测。于是双击KeyDown的位置。自动生成KeyDown事件处理代码。然后。我们在其中添加如下代码。结果如下:
private void tbxInput_KeyDown(object sender。 KeyEventArgs e) { if (e.KeyCode== Keys.Enter) { e.SuppressKeyPress = true; tbxInput.AppendText("rn计算结果"); } }
KeyEventArgs作为KeyDown事件的传入参数。包含了很多信息:
KeyCode代表的是按键代码。Keys.Enter表示的就是回车键。SuppressKeyPress是禁止按键处理。因为在多行输入框中。回车键是属于特殊按键。如果不再需要处理回车键。就需要将此设置成true。AppendText是像tbxInput中添加字符串的意思。字符串中的"rn"是转义符的写法。代表换行符和回车符。组合在一起就实现了换行的目的。
我们来看下代码执行效果:
接下来我们要做的就是解析字符串。形成标准的数学计算式。然后计算。得出结果再输出。
如何实现。我们下节继续。