我已经放了两个丰富的编辑控件,它们应该显示相同的文本。因此,当我编辑其中一个文本时,另一个应该反映更改。 问题是 - 我不想把这段代码放在Text Changed事件中:
control1.rftText = control2.rtfText
因为每次编辑文本时它都会创建一个新的字符串实例。
有没有办法将相同的字符串实例发送到这两个控件,还是有其他解决问题的方法?
答案 0 :(得分:1)
control1.rftText
是一个不可变的字符串,因此如果你想修改它,你将不得不创建一个新的字符串。
使用此control1.rftText = "my new string"
只会创建一个新字符串,并按照您的说法将其指定给rftText
字段。如果您真的非常认真地优化这种值赋值,那么您可以创建自己的派生富编辑类实现,它将使用某种StringBuilder
逻辑,或者您可以在内部将文本表示为char []数组并修改它,但它们可能会成为一个真正的挑战,所以明智地决定。