2012-12-08 54 views
1

我想以編程方式在C#中設置FlowPanel的邊距,但它告訴我,我無法設置它,因爲它不是一個變量。爲什麼我不能在程序中設置FlowLayoutPanel的邊距?

這裏告訴我,該屬性獲取或設置控件之間的空間。

Normal property?

但是,一旦我嘗試設置屬性,它告訴我,這是不是一個變量,該項目將不會編譯。

Am I crazy, or what?

那麼,發生了什麼嗎?這個屬性是在幕後以一種奇怪的方式聲明的嗎?這是Visual Studio的問題嗎?我很茫然。

+0

可能重複(http://stackoverflow.com/questions/51526 /改變結構列表中的元素值) –

回答

2

您必須指定一個新值:

flowLayoutPanel2.margin = new Padding(5); 

更新:雖然用於填充沒有這樣的言論也對點的交代這也是一種結構以及爲什麼它需要被設置爲一個新的填充(要點如下):

[填充]是一個結構,這意味着它是一個值類型。如果您 訪問Point中的某個屬性,則會返回該屬性的副本。 因此,更改從 返回的Point的X或Y屬性的Location屬性將不會影響表格的Left,Right,Top或Bottom 屬性值。要調整這些屬性,請分別設置每個 屬性值,或者使用新的 點設置位置屬性。

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

Public Structure Padding 

填充:[在結構列表改變一個元素的值]的
http://msdn.microsoft.com/en-us/library/system.windows.forms.padding.aspx

+1

我可以看到這是如何工作的,但我想知道什麼是獨特的財產本身,阻止了一個ssignment。 – elucid8

+0

@ elucid8我用更多的信息更新了我的答案。 – K3N

相關問題