0
私は 'calcScreen'というディスプレイとして使用しているテキストボックスに関連するボタンのテキストプロパティを送信するために(送信者としてボタンを使用する) 。つまり、テキスト値が '1'のボタンを押すと、テキストボックスに値が入力されます。ビルドは正常に動作しますが、私の数字ボタンを押すと、テキストボックスは空白のままです。私はVisual Studioのどこかで設定を見逃したのですか、コードが間違っていますか?c# - ボタンのテキストプロパティの値をテキストボックスに送信
using System;
using System.Windows.Forms;
namespace Calc
{
public partial class Form1 : Form
{
private double accumulator = 0;
private char lastOperaton;
public Form1()
{
InitializeComponent();
}
private void OperatorPressed(object sender, EventArgs e)
{
char operation = (sender as Button).Text[0];
if (operation == 'C')
{
accumulator = 0;
}
else
{
double currentValue = double.Parse(calcScreen.Text);
switch (lastOperaton)
{
case '+': accumulator += currentValue; break;
case '-': accumulator -= currentValue; break;
case '*': accumulator *= currentValue; break;
case '/': accumulator /= currentValue; break;
default: accumulator = currentValue; break;
}
}
lastOperaton = operation;
calcScreen.Text = operation == '=' ? accumulator.ToString() : "0";
}
private void NumberPressed(object sender, EventArgs e)
{
string number = (sender as Button).Text;
calcScreen.Text = calcScreen.Text == "0" ? number : calcScreen.Text + number;
}
}
}
ボタンのイベントハンドラとしてNumberPressedを実際に接続しましたか?挿入した場合、デバッガはNumberPressedでブレークポイントにヒットしますか? – DAXaholic
まだそれを行う方法がわかりません。私はまだ初心者です。たとえば、button1_click内に新しいイベントハンドラを作成し、NumberPressedにリンクしますか?どうすればいい?私は(ボタンとしての送信者).Textは、押されたボタンのテキストプロパティを受け取るだろうと思った? –
NumberPressedメソッドをボタンのイベントハンドラとして接続しないと、呼び出されないため、(Buttonとしての送信者).Textは決して実行されません。デバッガでその問題を確認することさえできない場合でも、基本的な知識を習得しなければ現在手助けすることができないため、完全なチュートリアルをお勧めします。あなたは 'チュートリアルビジュアルスタジオ電卓'で検索エンジンを使用する場合は、それを歩いてチュートリアルをたくさん見つけることができます... – DAXaholic