The way I handle this use-case is to use a ComboBox showing a a pre-defined list of values from which the user can select a value, and the last value of the list is always "other...". Attach an event handler to the combo box that reacts to a selection; if the user selects "other..." then I present a modal window with a TextEditBox (or NumberEditBox) where the user can specify a new value. Afterwards append the new value to the list used to populate the ComboBox.
-Dave