如何在Visual C ++ 2010中从键盘获取用户输入?

问题描述

我正在使用Visual C ++ 2010创建我的第一个项目-计算器(在线教程之后)。

现在,计算器已经完成并且可以使用,但是,输入数字的唯一方法是用鼠标按下按钮。

我希望能够使用键盘做到这一点。我该怎么办?

    double iFirstNumber;
    double iSecondNumber;
    double iResult;
    String^ iOperator;

private: System::Void btnC_Click(System::Object^  sender,System::EventArgs^  e) {
         //button C
         txtDisplay->Text="0";
         lblShowOp->Text ="";
     }
private: System::Void btnCE_Click(System::Object^  sender,System::EventArgs^  e) {
         //button CE
         txtDisplay->Text="0";
     }
private: System::Void button_click(System::Object^  sender,System::EventArgs^  e) {
         //Numeric Buttons
         Button ^ Numbers = safe_cast<Button^>(sender);

         if(txtDisplay->Text =="0")
         {
            txtDisplay->Text = Numbers->Text ;
         }

         else
         {
            txtDisplay->Text = txtDisplay->Text + Numbers->Text;
         }
     }

private: System::Void button14_Click(System::Object^  sender,System::EventArgs^  e) {
         //Equals
         lblShowOp->Text = "";
         iSecondNumber = Double::Parse(txtDisplay->Text);

         if(iOperator == "+")
         {
            iResult = iFirstNumber + iSecondNumber;
            txtDisplay->Text = System::Convert::ToString(iResult);
         }

         else if(iOperator == "-")
         {
            iResult = iFirstNumber - iSecondNumber;
            txtDisplay->Text = System::Convert::ToString(iResult);
         }

         else if(iOperator == "x")
         {
            iResult = iFirstNumber * iSecondNumber;
            txtDisplay->Text = System::Convert::ToString(iResult);
         }

         else if(iOperator == "÷")
         {
            iResult = iFirstNumber / iSecondNumber;
            txtDisplay->Text = System::Convert::ToString(iResult);
         }

         if(iOperator == "x²")
         {
            iResult = iFirstNumber * iFirstNumber;
            txtDisplay->Text = System::Convert::ToString(iResult);
            lblShowOp->Text= System::Convert::ToString(iFirstNumber) + " " + "²";
         }
     }
private: System::Void btnBack_Click(System::Object^  sender,System::EventArgs^  e) {

         if(txtDisplay->Text->Length>0)
         {
             txtDisplay->Text = txtDisplay->Text->Remove(txtDisplay->Text->Length -1,1);
         }
     }
private: System::Void txtDisplay_TextChanged(System::Object^  sender,System::EventArgs^  e) {
         if(txtDisplay->Text == "")
         {
            txtDisplay->Text = "0";
         }
     }
private: System::Void btnDot_Click(System::Object^  sender,System::EventArgs^  e) {

         if(!txtDisplay->Text->Contains("."))
         {
            txtDisplay->Text = txtDisplay->Text + ".";
         }
     }
private: System::Void btnPM_Click(System::Object^  sender,System::EventArgs^  e) {

         if(txtDisplay->Text->Contains("-"))
         {
            txtDisplay->Text->Remove(0,1);
         }


         if(!txtDisplay->Text->Contains("-"))
         {
            txtDisplay->Text = "-" + txtDisplay->Text;
         }

     }

private: System::Void operators2(System::Object^  sender,System::EventArgs^  e) {

         Button ^ op = safe_cast<Button^>(sender);
         iFirstNumber = Double::Parse(txtDisplay->Text);
         txtDisplay->Text ="";
         iOperator = op->Text;
         if(iOperator == "+" || iOperator == "-" || iOperator == "x" || iOperator == "÷")
         {
            lblShowOp->Text= System::Convert::ToString(iFirstNumber) + " " + iOperator;
         }
         else if(iOperator == "x²")
         {
            lblShowOp->Text = System::Convert::ToString(iFirstNumber) + " " + "²";
         }
     }

};
}

到目前为止,这是我的代码。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)