none
richtextboxについて RRS feed

  • 質問

  • プログラム側からrichtextboxに入力して、そのrichtextboxの高さを文字が隠れない(スクロールしなくてもいい)ようにあわせて全部表示させたいのですが、なかなかできません。

    どのように書けばいいのかご教授ください。

    2015年4月16日 2:30

回答

  • こんにちは。

    WinFormsで良いでしょうか。

    RichTextBoxではAutoSizeプロパティは使用されないそうなので
    独自でサイズ調整しなければいけないかもしれません。

    https://msdn.microsoft.com/ja-jp/library/system.windows.forms.richtextbox.autosize%28v=vs.110%29.aspx

    public Form1()
    {
        InitializeComponent();
        richTextBox1.MinimumSize = new System.Drawing.Size(100, 50);
        richTextBox1.ContentsResized += richTextBox1_ContentsResized;
    }
    
    private void richTextBox1_ContentsResized(object sender, ContentsResizedEventArgs e)
    {
        richTextBox1.Height = e.NewRectangle.Height + 10;    //マージン調整する必要ありそう
    }
    
    private void button1_Click(object sender, EventArgs e)
    {
        richTextBox1.Text = "あああああああああああああああああああああああああ";
    }
    

    • 回答としてマーク Sankarea255 2015年4月17日 2:52
    2015年4月16日 3:02
    モデレータ

すべての返信

  • こんにちは。

    WinFormsで良いでしょうか。

    RichTextBoxではAutoSizeプロパティは使用されないそうなので
    独自でサイズ調整しなければいけないかもしれません。

    https://msdn.microsoft.com/ja-jp/library/system.windows.forms.richtextbox.autosize%28v=vs.110%29.aspx

    public Form1()
    {
        InitializeComponent();
        richTextBox1.MinimumSize = new System.Drawing.Size(100, 50);
        richTextBox1.ContentsResized += richTextBox1_ContentsResized;
    }
    
    private void richTextBox1_ContentsResized(object sender, ContentsResizedEventArgs e)
    {
        richTextBox1.Height = e.NewRectangle.Height + 10;    //マージン調整する必要ありそう
    }
    
    private void button1_Click(object sender, EventArgs e)
    {
        richTextBox1.Text = "あああああああああああああああああああああああああ";
    }
    

    • 回答としてマーク Sankarea255 2015年4月17日 2:52
    2015年4月16日 3:02
    モデレータ
  • ありがとうございます。
    2015年4月17日 2:53