восстановить предыдущую запись текстового поля C # - PullRequest
1 голос
/ 11 ноября 2010

я проверяю текстовое поле, как показано ниже, предположим, что появится сообщение о перезаписи текстового поля недействительным номером, после нажатия «ОК» я хочу, чтобы предыдущая действительная запись была перезаписана.

как я могу это сделать в C #?

private void cor_o_gain_Validating(object sender, CancelEventArgs e)
{
    try
    {
        int entered = int.Parse(cor_o_gain.Text);
        if (entered > 255)
        {
            e.Cancel = true;
            MessageBox.Show("Enter the number between 0 and 255");
        }
    }
    catch (FormatException)
    {
      //  e.Cancel = true;
    }
} 

Ответы [ 5 ]

6 голосов
/ 11 ноября 2010

Вы также можете просто вызвать метод Undo () (если вы говорите о текстовом поле Windows Forms)

1 голос
/ 11 ноября 2010

как сказано Codymanix

заменить e.Cancel = true; на cor_o_gain.Undo();

1 голос
/ 11 ноября 2010

Используйте DataBinding, и он сделает это за вас, и у него есть метод для анализа данных, который позволит вам выполнить проверку

1 голос
/ 11 ноября 2010

Почему бы вам просто не сохранить текущий текст, когда происходит событие Validated, чтобы вы могли использовать его в следующий раз?

1 голос
/ 11 ноября 2010

Нет встроенного способа по умолчанию для этого.Вам просто нужно сохранить старое значение самостоятельно (в некоторой переменной), а затем восстановить его вручную.

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