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 を発生させる必要があります。

NumericUpDown.ValueChangedイベントに関する MSDN の見解

ValueChanged イベントを発生させるには、上または下のボタンをクリックするか、コントロールによって読み取られる新しい値をユーザーが入力することによって、Value プロパティをコードで変更できます。ユーザーが ENTER キーを押すか、コントロールから移動すると、新しい値が読み取られます。ユーザーが新しい値を入力して上または下ボタンをクリックすると、ValueChanged イベントが 2 回発生します ( 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 に答える