помогите мне обмануть с помощью события numericUpDown1_ValueChanged - PullRequest
0 голосов
/ 18 мая 2010

У меня есть форма и числовой элемент управления внизу. Я хочу, чтобы в некоторых условиях (_condition1) пользователь не мог изменить значение числового управления вниз. Как мне это сделать ? Я написал некоторый код, но он работает дважды (дважды).

class Form1 : Form
{
    bool _condition1;

    int _previousValue;

    void numericUpDown1_ValueChanged(object sender, EventArgs e)
    {
           if(_condition1)
           {
                 numericUpDown1.Value = (decimal)_previousValue;
           }
           else
           {
                 _previousValue = (int)numericUpDown1.Value;
           }
    }
}

Контроль должен быть включен.

Ответы [ 2 ]

1 голос
/ 18 мая 2010

numericUpDown1.ReadOnly = true;

.... редактировать: ..........

Другим (безобразным) решением было бы удалить событие, изменить значение и снова добавить событие.

numericupdown1.ValueChanged -= new EventHandler ....
numericupdown1.Value = value;
numericupdown1.ValueChanged += new EventHandler ....
0 голосов
/ 18 мая 2010

Вы пытались использовать событие Validating ?

РЕДАКТИРОВАТЬ # 1 Вы пробовали событие Leave ?

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