2013-11-27 14 views
1

使用綁定源將對象綁定到Richtextbox後,如果我在文本框內輸入任何內容,光標將移動到開頭。有人可以幫幫我嗎。關於輸入Richtextbox數據綁定問題

我綁定如下

this.txtDescription.DataBindings.Add("Text", bindingWard, "Description", 
         false, DataSourceUpdateMode.OnPropertyChanged); 
+0

是否有**相關事件**?如果有的話請提及它們。 –

+0

沒有相關事件。它是一個簡單的表單,其中Richtextbox使用綁定源綁定到Object。每次鍵入光標後,鍵入光標移到位置0 – techknackblogs

回答

1

嘗試改變DataSourceUpdateMode到OnValidation後:

this.txtDescription.DataBindings.Add("Text", bindingWard, "Description", 
        false, DataSourceUpdateMode.OnValidation); 

如果你想保持OnPropertyChanged設置,你可以試試改變ControlUpdateMode,這是一種創建單向綁定的方式:

Binding b = new Binding("Text", test, "Description", 
         false, DataSourceUpdateMode.OnPropertyChanged); 
b.ControlUpdateMode = ControlUpdateMode.Never; 
this.txtDescription.DataBindings.Add(b); 
+0

它確實有效,但問題是爲什麼它不適用於OnPropertyChanged。對於文本框,其工作正常只適用於Richtextbox其提供的問題。只是想知道這個問題的癥結所在。 – techknackblogs

+0

@techknackblogs RTF是一個不同的野獸。更改文本會重寫控件的富文本格式代碼。它不可避免地丟失了光標所在的位置,並將其重置爲開頭。 – LarsTech

+0

@techknackblogs另外,由於你只是綁定到文本,你似乎不關心富文本格式。在這種情況下,請考慮只使用一個將Multiline屬性設置爲true的TextBox。 – LarsTech

0

嘗試richTextBox1.ScrollToEnd();結合

+0

無法找到scrolltoend。當我開始在文本框內輸入時也出現問題。鍵入任何光標後移回到位置0.所以我真的懷疑ScrollTo..will幫助 – techknackblogs

0

設置formattingEnabled=true解決了我的問題。