句読点の後に大文字を実装しました。しかし、小文字で続けたいので、ユーザーが戻って最初の単語または文字を削除できるようにするにはどうすればよいでしょうか?
KeyPress(object sender, KeyPressEventArgs e)
{
if(EndOfSentence())
{
e.KeyChar = Char.ToUpper(e.Keychar);
}
}
//
private bool EndOfSentence()
{
//return true if end of sentence found
}
例:私がこの文章を書くとします。戻って「私」を「私」に変えることはできません!そして、「A」を「a」に変更することはできませんが、変更したいのです! これをどのようにコーディングするのですか?
サンプルプロジェクトはこちら: 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