【发布时间】: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