1

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

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

普通属性?

但是,一旦我尝试设置该属性,它就会告诉我它不是一个变量,并且该项目将无法编译。

我疯了,还是什么?

那么,这里发生了什么?这个属性是在幕后以一种奇怪的方式声明的吗?是 Visual Studio 的问题吗?我不知所措。

4

1 回答 1

2

您必须分配一个新值:

flowLayoutPanel2.margin = new Padding(5);

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

Point [Padding]是一个结构体,也就是说它是一个值类型。如果您访问 Point 中的属性,则会返回该属性的副本。因此,更改从 Location 属性返回的 Point 的 X 或 Y 属性不会影响 Form 的 Left、Right、Top 或 Bottom 属性值。要调整这些属性,请单独设置每个属性值,或使用新点设置 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

于 2012-12-08T05:10:50.857 回答