The simplest would be to use a pop up menu instead of a drop down list. If you don't like the beveled block look of the pop up menu, you can hide that look by using transparent borders.
Validation by value list should work, but you may want to add a validation that the field not be empty.
You can also use a script trigger but not OnObjectKeystroke. OnObjectKeystroke is tripped again and again for every key that is pressed. Instead, use onObjectExit, OnObjectSave or OnObjectValidate to check the value in the field against the values in the value list at the moment the user exits the field.
Thanks PMJ, the pop up is simplest way to handle this and I guess I do not have a problem except that I will likely have to revist all layouts with pull downs and change them to be consistent.
This isn't a big deal, but it is a cosmetic issue for naive users using pop ups.
My current set up has a panel/button pair. The panel is a popup allows a user to enter size from a value list. The button immediately to the right is titled "Enter New Size" prompts for a new size and does some checking then adds the entry to the size value list. I cannot supply a list of sizes because this is very much a personal thing and will vary from user to user.
The cosmetic problem is when my product is used for the first time and the tables are clean. When a user clicks on the pop panel the internal message "<no values defined>" occurs. Is there anyway I can change this message so something like: "No size values, click on button to create a new size value"? I suppose I can do this with a trigger that examines for an empty list and somehow prevents the default. I tried the usual trigger conditions and the <no values defined> superceeds anything I do with triggers.
Again, not a deal breaker, but I am trying to be nice to folks who aren't especially computer literate.
Since this value list is based on values from a table, could you add a record to that table with the message you want as the initial configuration for your solution? Once they start to add their own values, a script can remove this record from the solution.