2013-03-10 10 views
0

當我們鍵入richtextbox時,如果單詞未完成但行已完成,則整個單詞將轉到下一行。是否有人可以告訴我如何做它爲一個特殊character.it通常發生空間字符,但我想爲另一個字符(Ascii之一)。如何在c中的richtextbox中爲特定字符打斷行#

+0

考慮使用軟連字符。 – SLaks 2013-03-10 17:52:02

+0

對不起,我沒有得到你的主意SLaks – vishwa 2013-03-11 14:21:14

+0

http://blogs.msdn.com/b/oldnewthing/archive/2011/12/13/10246957.aspx http://en.wikipedia.org/wiki/Soft_hyphen – SLaks 2013-03-11 14:22:29

回答

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 
} 
+0

嗨Sascha Hennig,非常感謝答覆。這個答案給了我一個主意。 – vishwa 2013-03-11 14:22:26

相關問題