none
SplitContainerに配置したRichTextBoxのスクロールについて RRS feed

  • 質問

  • はじめまして。


    SplitContainer(上下分割)上にRichTextBoxとTextBoxを配置し、どちらも下記のような設定にしています。
    ・Multiline  = true
    ・ScrollBars = Both
    ・Anchor     = Top, Bottom

     

    垂直スクロールバーが表示されない行数のテキストを入力してSplitContainerのSplitterを上方向に移動させると、
    TextBoxは垂直スクロールバーの状態が変わるのですが、RichTextBoxは変わらない場合があります。

    ちなみに、Formをリサイズさせた場合はどちらも適切に変わります。

     

    バグなのか仕様なのかは不明ですが、回避方法をご存知の方いらっしゃらないでしょうか。

     

     

    よろしくお願いします。

    2007年5月25日 2:34

回答

  • RichTextBox はなぜか一度高さが変更されただけではスクロールバーが表示されません。二度スクロールバーが表示される高さに変化しないと表示されないのです。でも幅なら一度の変更でスクロールバーが表示されます。なので、SplitContainer でスプリッターを移動したら RichTextBox のサイズをもう一度変更してやれば一応は回避できます。VB でごめんなさい。

    Code Snippet
        Private Sub SplitContainer1_SplitterMoved(ByVal sender As System.Object, ByVal e As System.Windows.Forms.SplitterEventArgs) Handles SplitContainer1.SplitterMoved
            Me.RichTextBox1.Width += 1
            Me.RichTextBox1.Width -= 1
        End Sub

     

    2007年5月25日 3:53

すべての返信

  • RichTextBox はなぜか一度高さが変更されただけではスクロールバーが表示されません。二度スクロールバーが表示される高さに変化しないと表示されないのです。でも幅なら一度の変更でスクロールバーが表示されます。なので、SplitContainer でスプリッターを移動したら RichTextBox のサイズをもう一度変更してやれば一応は回避できます。VB でごめんなさい。

    Code Snippet
        Private Sub SplitContainer1_SplitterMoved(ByVal sender As System.Object, ByVal e As System.Windows.Forms.SplitterEventArgs) Handles SplitContainer1.SplitterMoved
            Me.RichTextBox1.Width += 1
            Me.RichTextBox1.Width -= 1
        End Sub

     

    2007年5月25日 3:53
  • ダッチ様

     

    ご回答ありがとうございます。

    (VBでもなんとなくわかるので大丈夫です!)

     

    SplitterMovedだと、ちょっとうまくいかない部分があったので色々試したところ、

    ③の方法で一応うまくいきました。

     

    ①SplitterMovedイベントで幅を変更
     ○:Splitter移動でスクロールバー表示
     ×:Formのリサイズ時にRichTextBoxがサイズ変更されない。(Anchorが効いてない)


     ②SplitterMovingイベントで幅を変更
     ○:Splitter移動でスクロールバー表示
     ×:Formのリサイズ時にスクロールバーが表示されない

     

    ③SplitterMovingとフォームのResizeイベントで幅を変更

    ○:Splitter移動でスクロールバー表示

    ○:Formのリサイズでスクロールバー表示

     

    Movingだと幅がプルプル動いてる感じが気になりますが。。

     

    Movedイベントでテキストのサイズを変えると、Anchorが効かないあたりがさらに謎なのですが、

    もし、この辺の動きをご存知でしたら教えていただけないでしょうか。

    2007年5月25日 5:22