Я реализовал заглавные буквы после интернационализации. НО, как реализовать его, чтобы пользователь мог набрать BACK и удалить первое слово или символ, потому что он хочет продолжить в нижнем регистре?Как загладить первую букву каждого предложения И дать Пользователю возможность изменить букву ниже?
KeyPress(object sender, KeyPressEventArgs e)
{
if(EndOfSentence())
{
e.KeyChar = Char.ToUpper(e.Keychar);
}
}
//
private bool EndOfSentence()
{
//return true if end of sentence found
}
Пример: Если я напишу это предложение. Я не могу вернуться и изменить «я» на «я»! И я не могу изменить «А» на «а», но я хочу! Как закодировать это?
Пример проекта здесь: http://www.filefactory.com/file/3ecbn51bhbrv/n/Capi.zip
Единственное решение я вижу, чтобы сохранить текущий и предыдущий ключ и проверить, если забой или удалить прессовали как:
if (!EndOfSentence())
{
previousKeyChar = e.KeyChar;
return;
}
//
if(previousKeyChar.Equals('\b')) return;
else
e.KeyChar = Char.ToUpper(e.KeyChar);
//
//
// And in the EndOfSentence I Check
// if the cursor is at the end of the text
if(textbox1.Text.Length != textbox1.SelectionStart)
return false; //allow editing in the middle of the text
Там могут быть лучшие способы, и я любезно прошу решение таким образом без сбора для проверки. Как это можно решить в MS Office Word или Outlook? – user1338270