電卓を作っています。キーボードからの入力も取りたいです。これは私のコードの一部です。問題は、キーボードからの 2 番目の入力で + 記号が表示されず、「+」記号が追加され、ボタン クリックからの入力中に + 記号が表示されないことです。ボタンクリックとキープレスの両方の機能を作成するのは正しいですか、それともそれぞれに個別に作成する必要がありますか? テキストボックスでカーソルを管理する方法は?
private void button1_Click(object sender, EventArgs e)
{
yourArithmeticOperation = true; //Enable Arithmetic button click
yourEqual = true; //Enable Equal button click
if (yourNumberControl) //check number button to append or start new
{
if (yourControlClick) //check click button enabled or not
{
textBox1.Text += "1"; //append no.
}
else
return;
}
else
{
textBox1.Text = "1"; //clear textbox and put new no.
yourNumberControl = true; //Enable Number button click
}
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Add)
{
add();
}
}
private void add()
{
yourEqual = false; //Disable equal button
yourNumberControl = true; //enable number button
if (yourArithmeticOperation) //check Arithmetic button
{
num1 = double.Parse(textBox1.Text);
textBox1.Text = "";
equal = "+";
yourArithmeticOperation = false; // disable arithmetic operator
}
else //change the arithmeetic sign
{
textBox1.Text = "";
equal = "+";
}
}