2012-12-07 211 views
0

我試圖將字符串插入到RichTextBox中。這是KeyUp活動形式RichTextBox插入rtf字符串時的RichTextBox插入符號位置

private void richTextBox1_KeyUp(object sender, KeyEventArgs e) 
{ 
    string st = richTextBox1.Rtf; 
    st=st.Insert(750, "void"); 
    richTextBox1.Rtf = st; 
} 

的問題是,每次更新後,光標插入文本之前去,我想保持它在末端。我注意到,只有當我修改st的長度時纔會發生這種情況。

回答

0

我無法理解你的代碼應該如何爲最終用戶工作。你怎麼知道在索引750處你有文字而不是控制字符?

快速的解決辦法是剛纔設置的插入位置,以結束自己:

private void richTextBox1_KeyUp(object sender, KeyEventArgs e) 
{ 
    string st = richTextBox1.Rtf; 
    st=st.Insert(750, "void"); 
    richTextBox1.Rtf = st; 
    richTextBox1.SelectionStart = richTextBox1.TextLength; 
} 

當然,如果你正試圖把插入符的地方空隙插入的位置,這是行不通的與你的屬性,因爲和文本屬性是不同的東西。

如果試圖插入的文本屬性的文本,那麼它會是這個樣子:

private void richTextBox1_KeyUp(object sender, KeyEventArgs e) 
{ 
    string st = richTextBox1.Text; 
    st=st.Insert(750, "void"); 
    richTextBox1.Text = st; 
    richTextBox1.SelectionStart = 750 + 4; 
} 
+0

非常感謝您! ;-) – Sumi