1

同じテキストを表示する 2 つのリッチ エディット コントロールを配置しました。そのため、一方のテキストを編集すると、もう一方に変更が反映されるはずです。問題は、このコードを Text Changed イベントに入れたくないということです。

control1.rftText = control2.rtfText

テキストが編集されるたびに文字列の新しいインスタンスが作成されるためです。

文字列の同じインスタンスを両方のコントロールに送信する方法はありますか、または問題に対する他の解決策はありますか?

4

1 に答える 1

1

control1.rftTextは不変の文字列なので、変更する場合は、新しい文字列を作成する必要があります。

これを使用control1.rftText = "my new string"すると、新しい文字列が作成さrftTextれ、あなたが言ったようにフィールドに割り当てられます。この種の値の割り当てを最適化することに真剣に取り組んでいる場合は、何らかのStringBuilderロジックを使用する派生リッチ エディット クラスの独自の実装を作成するか、テキストを char[] 配列として内部的に表現して変更することができます。しかし、それらは実際の課題であることが判明する可能性があるため、賢明に決定してください。

于 2011-04-29T13:01:24.503 に答える