我正在尝试以编程方式在C#中设置FlowPanel的边距,但它告诉我我无法设置它,因为它不是变量。
这里告诉我,属性获取或设置控件之间的空间。
但是,一旦我尝试设置属性,它就会告诉我它不是变量,项目也不会编译。
那么,这里发生了什么?这个属性是在幕后以奇怪的方式声明的吗?这是Visual Studio的问题吗?我很茫然。
答案 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