Może trzeba użyć TextChanged imprezę zamiast używania ValueChanged
. Zdarzenie zmienione Wartość wymaga naciśnięcia klawisza Enter po zmianie wartości, aby uzyskać zwolnienie ValueChanged.
Co MSDN powiedzieć o NumericUpDown.ValueChanged
Event
Na razie valueChanged występuje, właściwość Value mogą być zmieniane w kodzie, klikając przycisk w górę lub w dół, lub wprowadzając nową wartość dla użytkownika czytane przez kontrolę. Nowa wartość jest odczytywana, gdy użytkownik użytkownika wciska klawisz ENTER lub nawiguje z dala od kontrolki. Jeśli użytkownik wprowadzi nową wartość, a następnie kliknie przycisk w górę lub w dół, zdarzenie ValueChanged wystąpi dwukrotnie, MSDN.
Wiązanie zdarzenia TextChanged.
private void TestForm_Load(object sender, EventArgs e)
{
numericUpDown1.TextChanged += new EventHandler(numericUpDown1_TextChanged);
}
Deklaracja imprezy TextChanged.
void numericUpDown1_TextChanged(object sender, EventArgs e)
{
button1.Enabled = true;
}
I jaki jest problem? – Abbas
Spróbuj zmienić ustawienie kursora kontrolki numericUpDown po zmianie numeru –
Lub naciśnij klawisz enter. Możesz także po prostu zasubskrybować zdarzenie keypress, ale pamiętaj, że tekst nie został jeszcze sprawdzony, więc jeśli wywołasz tę wartość, otrzymasz starą wartość. Jeśli jednak wywołasz wartość numericUpdown wewnątrz przycisku.Kliknięcie zdarzenia zostanie zmienione już. – Martheen