У меня проблема, и я надеюсь, что вы, ребята, можете помочь мне в этом.
У меня есть приложение, которое имеет проблемы с производством. После попытки выполнить функцию это вызовет ожидаемую ошибку. Предположительно, он перейдет в область перехвата и вызовет всплывающую ошибку. После того, как я закрываю всплывающую ошибку, я не могу нажать клавишу «esc» для выхода из формы.
Я попробовал это на своей машине, я могу нажать клавишу «esc» и успешно выйти из формы.
Есть ли причина, по которой это происходит? Пожалуйста, помогите.
private void CalculateWeight()
{
try
{
double val = CommonBLL.CalculateWeight();
txtWeight.Text = val.ToString("#,##0.00");
}
catch (CalculateWeightSystemException ex)
{
ExceptionLogging(ex, _screenName, _className, "CalculateWeight", null);
return;
}
}
private void ExceptionLogging(CalculateWeightSystemException floorException, string screenName, string UiClassName, string uiControl, params object[] parameters)
{
if (uiControl == "CalculateWeight")
GlobalMessageBox.Show("(" + result + ") - " + Constants.WEIGHT_ERROR, Constants.AlertType.Error, Messages.Warning, GlobalMessageBoxButtons.OK);
}
Код, когда esc находится в базовом классе формы выше.
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Escape)
{
this.Close();
}
}
Кстати, до появления всплывающей ошибки, клавиша esc работает нормально. Только после отображения ошибки и нажатия кнопки «ОК», чтобы закрыть ошибку, клавиша esc не работает.