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?我將如何做到這一點?我認爲(發件人爲Button).Text將接收按下的任何按鈕的文本屬性? –
如果你沒有連接你的NumberPressed方法作爲按鈕的事件處理程序,那麼它永遠不會被調用,因此你的(sender作爲Button).Text永遠不會被執行。如果你甚至無法用調試器檢查這個問題,那麼你最好帶一個完整的教程,因爲我們目前無法幫助你,沒有把一些基本知識視爲理所當然。如果你使用'教程視覺工作室計算器'的搜索引擎,你會發現很多教程通過它... – DAXaholic