Возможно ли перегрузить обработчик событий параметрами? Если нет, то каков наилучший способ прохождения дополнительных 3 параметров?Перегрузка обработчика событий тремя дополнительными параметрами
я получаю сообщение об ошибке:
Вот картина того, что я пытаюсь достичь:
MainWindow.xaml.cs
public bool DotControl { get; set; }
public int Count { get; set; }
TextBox Tb = Keyboard.FocusedElement as TextBox;
private void RemoveLastButton_Click(object sender, RoutedEventArgs e, bool DotControl, int Count, TextBox tb)
{
if (Tb != null && Tb != DriverTextBox)
{
try
{
var keypadObject = new Keypad();
keypadObject.RemoveLast(Tb, DotControl, Count);
}
catch (Exception)
{
TotalTextBox.Focus();
}
}
else
{
TotalTextBox.Focus();
}
}
private void ResetButton_Click(object sender, RoutedEventArgs e, bool DotControl, int Count, TextBox tb)
{
if (Tb != null && Tb != DriverTextBox)
{
try
{
var keypadObject = new Keypad();
keypadObject.Reset(Tb, DotControl, Count);
}
catch (Exception)
{
TotalTextBox.Focus();
}
}
else
{
TotalTextBox.Focus();
}
}
Keypad.cs
// Backspace textbox
public void RemoveLast(TextBox tb, bool dotControl, int count)
{
if (tb.Text.Length > 0)
{
if (char.IsDigit(tb.Text[tb.Text.Length - 1])) count = 0;
else
{
dotControl = false;
count = 0;
}
tb.Text = tb.Text.Remove(tb.Text.Length - 1, 1);
}
}
// Clear textbox
public void Reset(TextBox tb, bool dotControl, int count)
{
dotControl = false;
count = 0;
tb.Text = "";
}
Обработчики событий AFAIK имеют определенные подписи - почему бы вам просто не вызвать свой собственный метод из обработчика событий? Вы можете передать то, что вам нравится. – Mashton
Я думаю, что 'dotControl' и' Count' должны быть полями/свойствами –
@JeroenvanLangen - спасибо, вопрос обновлен, моя логика правильная? – methuselah