パネルがあり、それぞれにラベルが1つあります。私はこのコードを使用していラベルの高さに合わせるパネルの高さ
...私はラベルの高さにパネルの高さに合わせすることはできません :すべてが1つのものを除いて正常に動作します
Point location = new Point(0, 0);
ColorConverter cc = new ColorConverter();
foreach (var item in temp)
{
Panel pan = new Panel();
pan.AutoSize = false;
pan.Width = this.Width-75;
pan.Location = location;
pan.BackColor = (Color)cc.ConvertFromString("#" + item.Item3);
Label lbl = new Label();
lbl.Font = new Font("Arial", 12);
lbl.ForeColor = Color.White;
lbl.Text = item.Item2;
lbl.AutoSize = true;
lbl.MaximumSize = new Size(pan.Width - 5, 0);
lbl.Width = pan.Width - 10;
lbl.Location = new Point(lbl.Location.X + 5, lbl.Location.Y + 5);
//pan.Height = lbl.Height + 5;
pan.Controls.Add(lbl);
flowLayoutPanel1.Controls.Add(pan);
location = new Point(location.X - pan.Height, location.Y);
}
を私はこれをやってみました:
pan.Height = lbl.Height + 5;
しかし、それはパネルは、あまりにも小さいです...
参照するように宣言されていますパネルを使用する点。ただしないと、この問題を解決する必要はありません。 –
@ HansPassant私は1つ必要です – ioncodes
パネルにラベルをドッキングし、パネルのAutoSizeをtrueに設定し、AutoSizeModeをGrowAndShrinkに設定します。次に、パネルのパディングを5に設定することができます。ラベルのサイズや位置を気にする必要はありません。 – Kinetic