7

RichTextBoxa のコンテンツをコンテンツの特定の行に移動したい。は、埋め込まれた からのRichTextBoxメソッドを提供します。メソッドは MSDN に記載されていますが、offset という名前のパラメーターの測定単位が指定されていませ。タイプはです。ScrollToVerticalOffsetScrollViewerdouble

a のVerticalOffsetプロパティは、TextBoxデバイスに依存しない単位 (単位あたり 1/96 インチ) として文書化されています。

そこで、フォントサイズからオフセットを計算してみました。フォントサイズはピクセル単位で指定されます。結果の式は

offset = fontSize * 96 / 72  *  lineNumber;

しかし、これは目的の行の後ろにジャンプします。今のところ、私はこの計算を使用しています:

offset = fontSize * lineNumber;

これは正しいです?

4

2 に答える 2

2

確かに、この質問をしてから長い時間が経ちましたが、まだ正しい答えが見つかりません!!

私は今このコードを使用しました。それは私にとって本当に良いことです:

var offset = (lineNumber * (fontSize + 2)) - richTextBox.ActualHeight / 2;
richTextBox.ScrollToVerticalOffset(offset);

この方法よりも優れた解決策を1つ知っている場合は、助けてください。

于 2015-05-02T16:56:53.777 に答える