As you pointed, MaskedTextBox does not have a built-in support for optional mask portion, because it does not clear the value on blur
like other masked input widgets. You can define the mask like this
"(000) 000-0000 09999"
and the user will not lost the entered text if any of the required mask symbols ( '0' ) are omitted.
If I am missing the point, could you please elaborate more on the desired behavior?
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.