Вам может понадобиться использовать TextChanged событие вместо того, чтобы использовать ValueChanged
. Для события Value changed вам нужно нажать клавишу ввода после изменения значения, чтобы получить значение ValueChanged.
Что MSDN сказать о NumericUpDown.ValueChanged
Событие
Для события ValueChanged, чтобы произойти, свойство Значение может быть изменено в коде, нажав кнопку вверх или вниз, или пользователем, входящего в новое значение который считывается элементом управления. Новое значение считывается, когда пользователь нажимает клавишу ENTER или перемещается от элемента управления. Если пользователь вводит новое значение и затем нажимает кнопку «вверх» или «вниз», событие ValueChanged будет происходить дважды, MSDN.
Binding TextChanged event.
private void TestForm_Load(object sender, EventArgs e)
{
numericUpDown1.TextChanged += new EventHandler(numericUpDown1_TextChanged);
}
Декларация TextChanged события.
void numericUpDown1_TextChanged(object sender, EventArgs e)
{
button1.Enabled = true;
}
В чем проблема? – Abbas
Попытайтесь сфокусировать курсор элемента numericUpDown после изменения номера –
или нажмите enter. Вы также можете просто подписаться на событие нажатия клавиши, но помните, что текст еще не проверен, поэтому, если вы вызываете это значение, вы получите старое значение. Если, однако, вы вызываете значение numericUpdown внутри кнопки button.Click, оно будет изменено уже. – Martheen