Я делаю базовый калькулятор, который использует (отправитель как кнопка), чтобы отправить текстовое свойство соответствующей кнопки в текстовое поле, которое я использую в качестве дисплея под названием «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 в качестве обработчика событий для кнопок, он никогда не вызывается, поэтому ваш (отправитель как кнопка) .Text никогда не выполняется. Если вы даже не можете проверить эту проблему с помощью отладчика, тогда вам будет лучше с полным учебником, поскольку мы в настоящее время не можем помочь вам, не принимая некоторые базовые знания как должное. Если вы используете поисковую систему с «учебным калькулятором визуальной студийной студии», вы найдете множество обучающих программ, проходящих через нее ... – DAXaholic