private void txtIp_KeyPress(object sender, KeyPressEventArgs e) { //txtIp_KeyDown(sender, e); Console.WriteLine("Pressed: " + e.KeyChar); int pos = txtIp.SelectionStart; string orig = txtIp.Text; if (pos < txtIp.Mask.Length && pos < orig.Length && txtIp.Text[pos] == ' ') { MaskedTextResultHint hint = MaskedTextResultHint.DigitExpected; if (txtIp.MaskedTextProvider.VerifyChar(e.KeyChar, pos, out hint)) { if (txtIp.MaskedTextProvider.Replace(e.KeyChar, pos)) { Console.WriteLine(txtIp.MaskedTextProvider.ToDisplayString()); txtIp.MaskedTextProvider.InsertAt(e.KeyChar, pos); } else { Console.WriteLine("Error replacing."); } } else { Console.WriteLine("Hint: " + hint.ToString()); } } }