为什么我不能以编程方式设置FlowLayoutPanel的边距?

时间:2012-12-08 04:43:23

标签: c# .net winforms margin

我正在尝试以编程方式在C#中设置FlowPanel的边距,但它告诉我我无法设置它,因为它不是变量。

这里告诉我,属性获取或设置控件之间的空间。

Normal property?

但是,一旦我尝试设置属性,它就会告诉我它不是变量,项目也不会编译。

Am I crazy, or what?

那么,这里发生了什么?这个属性是在幕后以奇怪的方式声明的吗?这是Visual Studio的问题吗?我很茫然。

1 个答案:

答案 0 :(得分:2)

您必须指定一个新值:

flowLayoutPanel2.margin = new Padding(5);

更新:虽然Padding没有这样的注释,但是Point的解释也是一个结构,为什么需要将它设置为新的Padding(以下描述中的点):

  

[填充]是一种结构,这意味着它是一种值类型。如果你   访问Point中的属性,返回该属性的副本。   因此,更改返回的Point的X或Y属性   Location属性不会影响Left,Right,Top或Bottom   表单的属性值。要调整这些属性,请设置每个属性   单独的属性值,或使用new设置Location属性   点。

来源:
http://msdn.microsoft.com/en-us/library/ms159414.aspx

Public Structure Padding

填充:
http://msdn.microsoft.com/en-us/library/system.windows.forms.padding.aspx