Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Richtextbox在键入时的数据绑定问题_C#_Data Binding_Richtextbox - Fatal编程技术网

C# Richtextbox在键入时的数据绑定问题

C# Richtextbox在键入时的数据绑定问题,c#,data-binding,richtextbox,C#,Data Binding,Richtextbox,使用bindingsource将对象绑定到Richtextbox后,如果在textbox中键入任何内容,则光标将移到开头。谁能帮帮我吗 我的约束力如下 this.txtDescription.DataBindings.Add("Text", bindingWard, "Description", false, DataSourceUpdateMode.OnPropertyChanged); 尝试richTextBox1.ScrollToEnd

使用bindingsource将对象绑定到Richtextbox后,如果在textbox中键入任何内容,则光标将移到开头。谁能帮帮我吗

我的约束力如下

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

尝试
richTextBox1.ScrollToEnd()绑定后

尝试将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);

设置
formattingEnabled=true
为我解决了这个问题

是否有相关事件?如果有,请提及。没有相关事件。它是一种使用bindingsource将Richtextbox与对象绑定的简单形式。每次输入后,光标移回位置0,找不到scrolltoend。当我开始在文本框中输入时,问题也来了。键入任何内容后,光标移回位置0。所以我真的怀疑ScrollTo..是否有用它确实有效,但问题是为什么它不适用于OnPropertyChanged。对于textbox,其工作正常,仅对于Richtextbox,其提供问题。我只是想知道这个问题的症结所在。@techknackblogs RTF是另一头野兽。更改文本会重新写入控件的富文本格式代码。它不可避免地会丢失光标所在的位置并将其重置为开始位置。@techknackblogs或者,因为您只是绑定到文本,所以看起来您并不关心富文本格式。在这种情况下,考虑只使用多行属性设置为true的文本框。