【问题标题】:How do i take User Input from Keyboard in Visual C++ 2010?如何在 Visual C++ 2010 中从键盘获取用户输入?
【发布时间】:2020-10-09 19:02:56
【问题描述】:

我正在使用 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) + " " + "²";
         }
     }

};
}

这是我目前的代码。

【问题讨论】:

    标签: visual-c++ c++-cli calculator visual-c++-2010


    【解决方案1】:

    根据您发布的代码,您似乎正在使用 C++/CLI 和 WinForms,然后 System::Windows::Forms::Form 有一个 KeyDown 事件。看一看:http://msdn.microsoft.com/en-us/library/system.windows.forms.control.keydown.aspx(内页,改成C++语言)

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-06
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      相关资源
      最近更新 更多