10

我正在使用 Microsoft Visual C# 2010 Express。当我使用箭头更改 numericUpDown 的值时,我的按钮变为启用。但是当我通过直接更改文本来更改 numericUpDown 的值时,我也想启用我的按钮。

我正在使用以下代码:

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

1 回答 1

21

您可能需要使用TextChanged事件而不是使用ValueChanged. Value changed 事件需要您在更改值后按 enter 键才能触发 ValueChanged。

MSDN 对NumericUpDown.ValueChangedEvent的评价

要发生 ValueChanged 事件,可以在代码中更改 Value 属性,方法是单击向上或向下按钮,或者用户输入控件读取的新值。当用户按下 ENTER 键或离开控件时读取新值。如果用户输入一个新值,然后单击向上或向下按钮,则 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;
}
于 2013-07-09T07:51:51.160 回答