Если вы пытаетесь добиться того, чтобы пользователь мог вводить только слово «Джон» в текстовое поле, и вы хотите проверять это при каждом нажатии клавиши, то вы можете сделать что-то вроде следующего кода, который проверяет текущий текст, по одному символу за раз, и сравнивает каждый символ с его аналогом в слове «Джон».
Если символ не совпадает, то мы устанавливаем текст только для подстроки символов, которые do соответствуют, чтобы они могли продолжать печатать:
private void jTextBox5_TextChanged(object sender, EventArgs e)
{
var requiredText = "John";
// Don't allow user to type (or paste) extra characters after correct word
if (jTextBox5.Text.StartsWith(requiredText))
{
jTextBox5.Text = requiredText;
}
else
{
// Compare each character to our text, and trim the text to only the correct entries
for (var i = 0; i < jTextBox5.TextLength; i++)
{
if (jTextBox5.Text[i] != requiredText[i])
{
jTextBox5.Text = jTextBox5.Text.Substring(0, i);
break;
}
}
}
// Set the selection to the end of the text so they can keep typing
jTextBox5.SelectionStart = jTextBox5.TextLength;
}