0

単語が終了していないが行が終了している場合にリッチテキストボックスに入力すると、単語全体が次の行に移動します。特殊文字の場合の方法を教えてもらえますか。通常はスペース文字の場合に発生しますが、i別のキャラクター(アスキーワン)のために作りたい。

4

1 に答える 1

1

選択した改行文字が押されたかどうかをKeyPressイベントで確認します。

private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == '-')
    {
        int curserPosition = richTextBox1.SelectionStart;
        richTextBox1.Text += "-\r\n";
        richTextBox1.SelectionStart = curserPosition + 2;
        e.Handled = true;
    }
}

文字列をRichTextBoxに貼り付ける場合は、文字列を解析し、文字を文字とキャリッジリターンおよび改行文字に置き換える必要があります。

string rtbText = string.Empty;
rtbText.Replace("-", "-\r\n");

現在の行がいっぱいになったときにのみ中断したい場合は、次の行に沿ってさらにロジックを追加する必要があります。

if (richTextBox1.Lines[richTextBox1.Lines.Length - 1].Length > 100)
{
    // parse the string for the last occurance of "-" and insert a CRLF behind it
}
于 2013-03-10T18:34:30.610 に答える