TextChanged Событие NumericUpDown

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

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

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

1 ответ

Решение

Возможно, вам придется использовать событие TextChanged вместо использования ValueChanged, Чтобы изменить значение, вам нужно нажать клавишу ввода после изменения значения, чтобы вызвать ValueChanged.

О чем говорят MSDN NumericUpDown.ValueChanged Событие

Чтобы произошло событие ValueChanged, свойство Value можно изменить в коде, нажав кнопку "вверх" или "вниз", или введя новое значение, прочитанное элементом управления. Новое значение считывается, когда пользователь нажимает клавишу ВВОД или удаляется от элемента управления. Если пользователь вводит новое значение и затем нажимает кнопку "вверх" или "вниз", событие ValueChanged будет происходить дважды, MSDN.

Обязательное событие TextChanged.

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;
}
Другие вопросы по тегам