0

我可以在设计时为 DGV 设置最大和最小尺寸高度和宽度值,但不能在代码中设置。这不会编译,因为“无法修改 'System.Windows.Forms.Control.MaximumSize' 的返回值,因为它不是变量”:

dataGridViewPlatypi.MaximumSize.Height = dataGridViewPlatypi.Size.Height;
dataGridViewPlatypi.MinimumSize.Height = dataGridViewPlatypi.Size.Height;
dataGridViewPlatypi.MaximumSize.Width = dataGridViewPlatypi.Size.Width;
dataGridViewPlatypi.MinimumSize.Width = dataGridViewPlatypi.Size.Width;

如果MaximumSize 不是变量,为什么我可以在IDE 中修改它?

4

1 回答 1

8

更仔细地阅读错误信息:

“无法修改 'System.Windows.Forms.Control.MaximumSize' 的返回值,因为它不是变量”

Control.MaximumSize是 type Size,它是一个值类型。该属性返回一个对象的副本Size,然后您继续尝试修改其属性。即使您可以修改它们,它也不会做任何事情,因为您只会改变一个副本。

您需要将属性设置为全新的值,而不仅仅是更改副本的属性。

dataGridViewPlatypi.MaximumSize = new Size(width, height);
于 2012-10-01T22:13:32.160 回答