在visual c#中,
我有一个文本框和一个按钮。当您在文本框中输入算术运算(例如“1 + 1”)并单击按钮时,
我希望文本框中的1 + 1值更改并替换为算术的答案(即2)
因此,如果您在文本框中输入10 - 4并按下按钮,则相同的文本框应将值更改为6.
我不知道这是否可行。
答案 0 :(得分:0)
您的文本框具有与当前字符串值相关的.Text属性。您需要将转换和计算映射到事件,例如按Enter或单击按钮。
最简单的方法之一是使用DataTable类的Compute方法。
我已经连接了一个可以在1行上执行此操作的语句
myTextBox.Text = $"{new DataTable().Compute($"{myTextBox.Text.Trim()}", "")}";
这可以通过多种方式实现,这里我将如何实现:
public partial class Form1 : Form
{
public Form1() {
InitializeComponent();
}
private void Calculate_btn_Click(object sender, EventArgs e) {
InputTextbox.Text = Evaluate(InputTextbox.Text);
}
private string Evaluate(string equation) {
try {
return $"{new DataTable().Compute($"{equation.Trim()}", "")}";
} catch (Exception Ex) {
MessageBox.Show($"{Ex.Message}\n\n{equation.Trim()}", Ex.Source, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
return null;
}
private void InputTextbox_KeyPress(object sender, KeyPressEventArgs e) {
if (e.KeyChar == (char)13) {
InputTextbox.Text = Evaluate(InputTextbox.Text);
}
}
}