2013-07-09 5 views
8

Я использую Microsoft Visual C# 2010 Express. Когда я меняю значение numericUpDown с помощью стрелок, моя кнопка становится включенной. Но я также хочу включить свою кнопку, когда я изменяю значение numericUpDown, изменяя текст напрямую.TextChanged событие NumericUpDown

Я использую следующий код:

private void numericUpDown1_ValueChanged(object sender, EventArgs e) 
{ 
    button1.Enabled = true; 
} 
+0

В чем проблема? – Abbas

+1

Попытайтесь сфокусировать курсор элемента numericUpDown после изменения номера –

+0

или нажмите enter. Вы также можете просто подписаться на событие нажатия клавиши, но помните, что текст еще не проверен, поэтому, если вы вызываете это значение, вы получите старое значение. Если, однако, вы вызываете значение numericUpdown внутри кнопки button.Click, оно будет изменено уже. – Martheen

ответ

16

Вам может понадобиться использовать 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; 
} 
+0

Возможно ли, что при изменении значения, кнопка будет включена, без нажатия кнопки ввода? – Lany

+0

Вы пробовали событие TextChanged? – Adil

+0

Да, я пробовал, что ... здесь не применимо. , но да, это можно сделать, нажав кнопку ввода. btw thankz :) – Lany

Смежные вопросы