2009-03-13 9 views
0

通常は非常に長い文字列(ライセンス契約など)を表示する複数行のテキストボックスを使用していますが、 (矢印またはスクロールボックスをクリックせずにスクロールボックスの上または下をクリックする)、最後の「ページ」上の最初の行は前のページの最後の行でなければならず、テキストこれに対応するために空白行が埋められます。Compact Frameworkの複数行テキストボックスに表示される行数を取得する

私は文字列のサイズとテキストボックスの行数を得ることができますが、と表示されるを一度にテキストボックスに表示することができます。テキストは埋められる必要がありますか? messagesのリストを見るとP/Invoke経由で送信できますが、表示されている行の数を要求するものはありません。

答えて

2

フォントの高さを計算して一度に表示できる最大行数を取得し、それによってテキストボックスの高さを割り出すことができます。

ちょうどいいアイデア...正確に出てくるかどうかはわかりませんが、いくつかのテストを行い、それが一致するかどうかを確認できます。

public SizeF MeasureString( string text, Font font )

+0

これは良いスタートです:

は、フォントの高さを取得します。明らかに上下の詰め物が少しあるので、数学は正確ではありません。私はそれがどのようにパンを見るために異なるサイズのテキストボックスを試す必要があります。 – bjanaszek

+0

うれしい私は助けることができる:) – Stormenet