在运行时添加控件,而不是遵循面板填充属性

本文关键字:属性 填充 添加 运行时 控件 | 更新日期: 2023-09-27 18:14:34

我在运行时添加控件到我的Panel,但没有遵循面板的Padding属性。

下面的Label,只是被放置在我的面板的左上角。我在Padding20,20,20,20有我的面板,但它仍然不起作用。什么好主意吗?谢谢!

//Thickness Combo Clicked''
private void Thickness_Clicked(object sender, EventArgs e)
{
    RadMenuItem item = sender as RadMenuItem;
    switch (item.Text)
    {
        case "6":
            RadLabel label = new RadLabel();
            label.Text = "Test";
            radPanel1.Controls.Add(label);
            break;
        case "20":
            //
            break;
    }
}

在运行时添加控件,而不是遵循面板填充属性

PanelPadding仅受您将其Dock属性设置为与None不同的值的子控件的尊重。事实上,正如文档中提到的PanelPadding属性是ScrollableControlDockPadding属性的更一般的实现,property属性决定了停靠组件的控件内部的边界。

所以在上面的情况下,你添加了Label而没有设置Dock属性,标签和面板控件工作正常,你的标签将显示在0,0位置。

要解决这个问题,您需要手动设置Location或使用TableLayoutPanel代替。