Когда я печатаю в первом текстовом поле, он должен запустить преобразование, которое появляется во втором, а когда я печатаю во втором, оно появится в первом. Однако, когда я ввожу первое событие с измененным текстом, он запускает второй, который прерывает ввод в первом и наоборот. Есть ли способ, с помощью которого можно отключить событие textchanged, когда оно выделено или что-то еще?Два синхронных события Textchanged Events в Winforms C#
public void dB10_TextChanged(object sender, EventArgs e)
{
TextBox dB10 = sender as TextBox;
double dBV;
int i = dB10.Text.Trim().Length;
if (i > 0)
{
dBV = Convert.ToDouble(dB10.Text);
}
else
return;
UnitConverter dBConverter = new UnitConverter();
// Controls for if various radiobuttons were clicked
if (dBVRadio.Checked == true)
{
dBV = dBConverter.dBVToVolts(dBV);
voltage.Text = dBV.ToString();
}
else if (dBuRadio.Checked == true)
{
dBV = dBConverter.dBuToVolts(dBV);
voltage.Text = dBV.ToString();
}
}
public void voltage_TextChanged(object sender, EventArgs e)
{
TextBox voltage = sender as TextBox; //V >> dB10 (dBV/dBu)
int i = voltage.Text.Trim().Length;
double volts;
if (i > 0)
{
volts = Convert.ToDouble(voltage.Text);
}
else
return;
UnitConverter dBConverter = new UnitConverter();
if (dBVRadio.Checked == true)
{
dBuRadio.Checked = false;
volts = dBConverter.voltsTodBV(volts);
dB10.Text = volts.ToString();
}
else if (dBuRadio.Checked == true)
{
volts = dBConverter.voltsTodBu(volts);
dB10.Text = volts.ToString();
}
}
пойти на какой-то флаг или иметь какое-то событие, как Keypressed/keyentered, потому что textchange не работает здесь, я думаю, потому что testchange будет продолжать выполнение всякий раз, когда текст изменяется в любом случае –