How can I use a MaskedTextBox to prevent the user from entering an invalid IP address? (I want it to behave just like the Windows one).
Much simpler than the other answers:
Use System.Net.IPAddress and System.Windows.Forms.MaskedTextBox
set the following properties of the MaskedTextBox:
MaskedTextBox.Mask = ###.###.###.###
MaskedTextBox.ValidatingType = typeof(System.Net.IPAddress);
whenever the text box is validating, event MaskedTextBox.TypeValidationCompleted is raised. The event arguments show the following:
Upon receipt of this event you can decide whether to use the value or notify the user what is wrong with the value.