実現したいこと
FlowLayoutPanelの中に配置するコントロールが少しズレて配置されてしまいます。
これは何が起きているのかご教授頂きたいのと、解決法について知りたいです。
VSは使用できないため使用しておりません。
詳細
C# Windowsフォームの勉強をしています。
フォーム左側にドックしたパネルにメニューの様なアイテムを配置したいと思っています。
下記のコードはFormクラスを継承した、フォームを表示するクラスのコンストラクタです。
11行目の様にinnerLeftPaneをPanelクラスで作成した場合は画像1の様にその子のitemPane01がピッタリ配置されますが、
innerLeftPaneをFlowLayoutPanelクラスで作成した場合、画像2の様にその子のitemPane01が若干ズレて配置されます。
この理由と、解決法をご教授頂きたいです。
該当のソースコード
C#
1 public WindowTest_MainFrame() 2 { 3 this.Size = new Size(512, 512); 4 5 Panel mainPane = new Panel(); 6 mainPane.BackColor = Color.Black; 7 mainPane.Dock = DockStyle.Fill; 8 mainPane.Padding = new Padding(8); 9 this.Controls.Add(mainPane); 10 11 Panel innerLeftPane = new Panel(); 12 innerLeftPane.BackColor = Color.Red; 13 innerLeftPane.Dock = DockStyle.Left; 14 mainPane.Controls.Add(innerLeftPane); 15 16 Panel itemPane01 = new Panel(); 17 itemPane01.BackColor = Color.Blue; 18 itemPane01.Width = innerLeftPane.Width; 19 innerLeftPane.Controls.Add(itemPane01); 20 21 Label itemLabel01 = new Label(); 22 itemLabel01.Text = "ラベル1"; 23 itemLabel01.Width = itemPane01.Width; 24 itemLabel01.BackColor = Color.Yellow; 25 itemLabel01.TextAlign = ContentAlignment.MiddleCenter; 26 itemPane01.Controls.Add(itemLabel01); 27 }
11行目を以下の様に変更
C#
1 FlowLayoutPanel innerLeftPane = new FlowLayoutPanel();

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/12/30 17:29