Did you know that while setting ReadOnly property to True on a NumericUpDown control prohibits the user from typing in a value in the text portion of the control, does not prevent a user from changing the value using the up/down arrow keys? 

 

You need to disable the control to get the “truly read-only” behavior…