【问题标题】:How do I set the margin for my panel?如何设置面板的边距?
【发布时间】:2018-03-13 10:21:57
【问题描述】:

我正在创建一个 Windows 窗体,它将以编程方式将一个面板添加到另一个面板。我正在尝试自定义新面板的各种属性,例如颜色和大小,这是可行的。但是,当我尝试修改边距时,没有任何效果。我也找不到 Thickness 结构,因为它不是 WPF 应用程序,而是 Windows 窗体应用程序。这是我的代码:

    private void buttonAddExercise_Click(object sender, EventArgs e)
    {
        Panel panel = new Panel();
        panel.BackColor = Color.White;
        panel.Size = new Size(200, 300);

        panel.Margin = new Padding(20);


        listOfExercisePanels.Add(panel);
        panelNewWorkout.Controls.Add(panel);
    }

【问题讨论】:

  • 我试过那篇文章,但没用,正如我所说,我找不到厚度对象
  • 找不到厚度对象是什么意思?您使用适当的设置创建一个 Thickness 对象(实际上是一个结构),然后将其分配给 Margin,如链接所示。
  • 当我输入Thickness时,它带有红色下划线...

标签: c# winforms


【解决方案1】:

添加对“PresentationFramework.dll”的引用,

和一个 using 语句:

using System.Windows;

PresentationFramework 默认不作为参考。

【讨论】:

  • 那是 WPF...问题说 WinForms。
  • 幸运的是,您可以将该程序集添加到 WinForms 应用程序中。
  • 可以不等于应该。
  • :幸运的是,这在 4.5 中得到了解决,所以它不是问题。但是添加对 PresentationFramework 的引用几乎没有错。
【解决方案2】:

首先

要使用Thickness,您需要创建/更改您的项目 .NET 框架平台 版本为.NET Framework 4.5。因为此方法仅在 4.5 版本中可用

其次

您必须将DockStyle 添加到Fill 以用于 组件:

Panel panel = new Panel();
        panel.BackColor = Color.White;
        panel.Size = new Size(200, 200);

        Label lb = new Label() { Text = "Hello" };

        panel.Padding = new Padding(10);
        lb.Dock = System.Windows.Forms.DockStyle.Fill;

        panel.Controls.Add(lb);

        this.Controls.Add(panel);

第三

如果你想改变面板的Margin,你可以把它放到另一个父面板中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多