プロが教える店舗&オフィスのセキュリティ対策術

Windows10, Visual Studio 2015を使っています。
表示するテキストに合わせて、RichTextBoxの高さを変更したいと思っています。
(テキストは英語です)
richTextBox1.Lines.Lengthでは実際の表示行数を取得できません。
なにか方法はありませんか?
(VBではできるみたいですけど)

質問者からの補足コメント

  • つらい・・・

    回答ありがとうございます。
    >文の改行の数を数えるとかはどうでしょうか?
    文の改行の数は、表示したときの行数とは違うようです。
    RichTextBoxの幅が1文を表示するために必要な幅より少ない場合がありますよね。
    そのときに、1文全体を表示できるように、RichTextBoxの高さを大きくしたいと思っています。
    初めからRichTextBoxの高さを大きめに取っておくという方法もありますが、あまり大きめに取っておくと、スペースだけの行が多くなりすぎてしまいますから。

    No.1の回答に寄せられた補足コメントです。 補足日時:2017/06/02 12:54
  • うれしい

    ありがとうございます。
    なんかできるっぽいですね。
    一応、検索はしてみたんですけど、見逃したみたいです。
    動作確認してみます。

    No.3の回答に寄せられた補足コメントです。 補足日時:2017/06/02 15:23

A 回答 (3件)

何度も回答すみません


見つけました
http://blog.syo-ko.com/?eid=1704
上のサイトはVBですけどC#でも使えると思います

念のためもう一個の参考サイトを
http://dobon.net/vb/dotnet/control/tbgetcaretpos …

これらで上手くできませんかね?
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございます。
richTextBox1.SelectionStart = richTextBox1.TextLength;//キャレットを最後に移動
MessageBox.Show((richTextBox1.GetLineFromCharIndex(richTextBox1.SelectionStart) + 1).ToString());
で表示行数を取得できました。

お礼日時:2017/06/02 16:18

>文の改行の数は、表示したときの行数とは違うようです。


あー
折り返して表示しているからですか?
折り返さないようにプロパティ設定してやるのじゃダメなんですか?
折り返されたものも一行としてカウントしたいというのであれば
多分難しいかと思います
    • good
    • 0

あれ?それで出来ないんですか?


ricktextboxはあまり使わないので分かりませんが

文の改行の数を数えるとかはどうでしょうか?
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています