TextBox のサイズを内容に応じて設定する
TextBox のサイズを内容に応じて設定するには、TextRenderer クラスの MeasureText メソッドで表示サイズを計算し、その値を TextBox に設定する。
TextBox のサイズは境界を含んでいる。そのため BorderStyle が None 以外の場合、計算したサイズをそのまま設定すると、テキストが入りきらないことがある。
using System; using System.Windows.Forms; namespace AutoSizeTextBox { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { textBox1.Multiline = true; textBox1.BorderStyle = BorderStyle.None; textBox1.AppendText( "TextBox のサイズを内容に応じて設定するには、" + Environment.NewLine + "TextRenderer.MeasureText で" + Environment.NewLine + "表示サイズを計算し、" + Environment.NewLine + "その値を TextBox に設定する。"); textBox1.Size = TextRenderer.MeasureText(textBox1.Text, textBox1.Font); } } }