【问题标题】:Why can I set these properties in the IDE but not in code?为什么我可以在 IDE 中设置这些属性,但不能在代码中设置?
【发布时间】:2012-09-22 19:23:07
【问题描述】:

我可以在设计时设置 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中修改?

【问题讨论】:

    标签: c# winforms visual-studio-2010 datagridview


    【解决方案1】:

    仔细阅读错误信息:

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

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

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

    dataGridViewPlatypi.MaximumSize = new Size(width, height);
    

    【讨论】:

    • 是的,所以这行得通:dataGridViewPlatypi.MaximumSize = new Size(dataGridViewPlatypi.Size.Width, dataGridViewPlatypi.Size.Height); dataGridViewPlatypi.MinimumSize = new Size(dataGridViewPlatypi.Size.Width, dataGridViewPlatypi.Size.Height);
    • 我知道你知道。但你的眼睛并不是唯一会读到这篇文章的人(可能)。
    • @ClayShannon:通常你通过简单地接受答案来传达给定的答案是正确的,但是,嗯,没什么大不了的。
    • 哦,是的,我试过这样做,它告诉我等待四分钟,然后我忘记了。
    猜你喜欢
    • 2014-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-20
    相关资源
    最近更新 更多