質問させてください。(VB2008)
テキストボックスを複数行入力可能(Multiline = True)にした場合で、かつスクロールバーを表示させる場合、
テキストボックスのスクロールバーを除いた領域のサイズって取得することは可能でしょうか?
つまり、テキストの入力領域のサイズ(高さ・幅)を取得したいのです。
アドバイスの程、よろしくお願い申し上げます。
Label1.Text = "外枠:" & TextBox1.Width.ToString()
Label2.Text = "内枠:" & TextBox1.ClientRectangle.Width.ToString()
Label3.Text = "垂直スクロールバー:" & SystemInformation.VerticalScrollBarWidth.ToString()
Form1 に TextBox1 , TextBox2 , Label1 , Label2 を置いて
TextBox1 には Multiline = True スクロールバーを設定し
下記のような事でしょうか。
TextBox1 のスクロールバーを除いた幅と同じに TextBox2 をすると
私のテストでは
Label1.Text = TextBox1.Width ' 132
Label2.Text = TextBox2.Width ' 116
...となりましたのでスクロールバーは16かな。
高さは TextBox1.Height で分かります。
みなさま、ご回答ありがとうございました。
魔界の仮面弁士さんのアドバイスのように、ClientRectangleプロパティより希望の値を取得することができました。
ありがとうございました。
解決済みです。
編集 削除