代码之家  ›  专栏  ›  技术社区  ›  Shane

阻止windows窗体设计器设置属性的属性是什么

  •  2
  • Shane  · 技术社区  · 7 年前

    我一直在用户控件上使用[System.ComponentModel.ReadOnly]来阻止设计器设置属性,但我读到了一些表明 为此,应使用[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]。哪个是正确的?如果不是[System.ComponentModel.ReadOnly],应该在什么时候使用该属性?

    1 回复  |  直到 7 年前
        1
  •  4
  •   Hans Passant    7 年前

    好吧,它做到了,但不是它的意图。[只读(true)]防止用户在“属性”窗口中修改属性。它仍会显示,但会变灰。这实际上有用的可能性很小,我想不出一个好例子。一种可能的情况是自定义TypeDescriptor,它根据其他属性值动态更改只读状态。但这是火箭科学。