回答編集履歴

1

見直しキャンペーン中

2023/07/29 11:01

投稿

TN8001
TN8001

スコア9862

test CHANGED
@@ -1,85 +1,43 @@
1
1
  `Label`の`AutoSize`のような動作ってことですよね?
2
2
 
3
-
4
-
5
3
  `TextBox`にも`AutoSize`はあるんですが、期待した動作ではありません。
6
-
7
4
  フォントを変えたときに、自動で1行の高さが変わるようです(そして規定で`true`です)
8
-
9
5
  [TextBoxBase.AutoSize Property (System.Windows.Forms) | Microsoft Docs](https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.textboxbase.autosize?view=netframework-4.8)
10
-
11
-
12
6
 
13
7
  [備考](https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.textboxbase.autosize?view=netframework-4.8#remarks)にあるように、`RichTextBox`ではどうでしょうか?
14
8
 
15
-
16
-
17
- ```C#
9
+ ```cs
18
-
19
10
  using System.Drawing;
20
-
21
11
  using System.Windows.Forms;
22
12
 
23
-
24
-
25
13
  namespace Questions372439
26
-
27
14
  {
28
-
29
15
  public partial class Form1 : Form
30
-
31
16
  {
32
-
33
17
  private readonly RichTextBox richTextBox1;
34
18
 
35
-
36
-
37
19
  public Form1()
38
-
39
20
  {
40
-
41
21
  InitializeComponent();
42
22
 
43
-
44
-
45
23
  richTextBox1 = new RichTextBox
46
-
47
24
  {
48
-
49
25
  Location = new Point(12, 12),
50
-
51
26
  MinimumSize = new Size(100, 19),
52
-
53
27
  ScrollBars = RichTextBoxScrollBars.None,
54
-
55
28
  WordWrap = false,
56
-
57
29
  };
58
-
59
30
  richTextBox1.ContentsResized += richTextBox1_ContentsResized;
60
31
 
61
-
62
-
63
32
  Controls.Add(richTextBox1);
64
-
65
33
  }
66
34
 
67
-
68
-
69
35
  private void richTextBox1_ContentsResized(object sender, ContentsResizedEventArgs e)
70
-
71
36
  {
72
-
73
37
  //richTextBox1.Size = e.NewRectangle.Size;
74
-
75
38
  // 気持ち大きくしないと収まらない
76
-
77
39
  richTextBox1.Size = new Size(e.NewRectangle.Width + 10, e.NewRectangle.Height + 10);
78
-
79
40
  }
80
-
81
41
  }
82
-
83
42
  }
84
-
85
43
  ```