示例#1
0
 private void textBoxInput_TextChanged(object sender, TextChangedEventArgs e)
 {
     //TODO:检查输入太长或太高
     if (!console_mode)
     {
         //为乘法匹配行数
         if (GUIMethod == BaseEquation.METHOD.MUL)
         {
             mul_special();
         }
         if (human_changing)
         {
             int checkans = ExpressionTranslate.textGUI(textBoxInput.Text);
             if (checkans != 0)
             {
                 if (checkans == 2)
                 {
                     MessageBox.Show("GUI输入不合规范,已退回上一步\r\n请检查:\r\n某行太长,最长仅限" + ExpressionTranslate.LENTH_MAX + "字符,超长请使用控制台输入方式");
                 }
                 else if (checkans == 3)
                 {
                     MessageBox.Show("GUI输入不合规范,已退回上一步\r\n请检查:\r\n行数太多,最长仅限" + ExpressionTranslate.HEIGHT_MAX + "行,超高请使用控制台输入方式");
                 }
                 else
                 {
                     MessageBox.Show("GUI输入不合规范,已退回上一步\r\n请检查:\r\n数字和字母超过了10个\r\n插入了非法符\r\n删除了重要字符\r\n算式行数不对");
                 }
                 human_changing    = false;
                 textBoxInput.Text = textBoxInputOld;
                 human_changing    = true;
             }
         }
         BaseEquation be = ExpressionTranslate.get_console(textBoxInput.Text);
         if (be != null)
         {
             textBox1.Text = be.equation_console;
         }
         else
         {
             textBox1.Text = "";
         }
         textBoxInputOld = textBoxInput.Text;
     }
 }