Создание функции, в которой есть кнопка со значением отправителя - PullRequest
0 голосов
/ 13 марта 2020

Я создаю графический калькулятор в C# и использую его для отображения кнопки, нажатой в текстовом поле.

Button b = (Button)sender;
result_text.Text = result_text.Text + b.Text;
inumber2 = double.Parse(result_text.Text);

, и я хочу сделать его функцией, чтобы я мог вызывать что вместо того, чтобы в моем проекте был один и тот же код 10 раз.

Отправитель объекта просто отправляет числовое значение, которое нажимается в калькуляторе, и Visual Studio представляет мне эту ошибку:

«Имя« отправитель »не существует в текущем контексте»

РЕДАКТИРОВАТЬ:

«result_text.Text» - это текстовое поле, отображающее числа, нажатыми на пользователя.

1 Ответ

0 голосов
/ 13 марта 2020

Сделайте его обработчиком событий и привяжите каждое событие нажатия кнопки к одному и тому же обработчику:

private void AnyButton_Click(object sender, EventArgs e){
  Button b = (Button)sender;
  result_text.Text = result_text.Text + b.Text;
  inumber2 = double.Parse(result_text.Text);
}

Вы можете привязать события визуально в конструкторе форм - выберите все десять кнопок, щелкните сетку свойств, значок легкой загрузки ночью , найдите Click, выпадающий, чтобы открыть AnyButton_Click и выбрать его

Или вы можете связать их в коде, в конструкторе формы, AFTER InitializeComponent был вызван:

oneButton.Click += AnyButton_Click;
twoButton.Click += AnyButton_Click;
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...