c# - 如何让 C# 设计者知道 C# 中 Padding 或其他对象/结构的默认属性

标签 c# winforms visual-studio-2008 attributes default-value

当属性不是 DefaultValue() 支持的类型之一时,如何告诉设计者属性的默认值?例如,PaddingFont

通常,当您使用 Windows 窗体控件时,默认值将在“属性”窗口中以普通字体显示,更改的(非默认)值将以粗体显示。例如

Image of properties windows with non-default values in bold

在此示例中,ShowAddress 的默认值为 falseShowName 的默认值为 true .这种效果是通过以下方式实现的:

[DefaultValue(false)]
public bool ShowAddress {
  get { return mShowAddress; }
  set { 
    mShowAddress = value; 
    Invalidate();
  }
}

[DefaultValue(true)]
public bool ShowName { ... }

但是,当我尝试为 Padding 做一些事情时,我惨败了:

[DefaultValue(new Padding(2))]
public Padding LabelPadding { ... }

这当然不会编译。

我到底该怎么做?

最佳答案

试试这个:

[DefaultValue( typeof( Padding ), "2, 2, 2, 2" )]
public Padding LabelPadding
{
    get { return _labelPadding; }
    set { _labelPadding = value; }
}

关于c# - 如何让 C# 设计者知道 C# 中 Padding 或其他对象/结构的默认属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3340226/

相关文章:

c# - EntityRef 和编译的 LINQ 计划

c# - 非UI线程,UI访问

c# - 解决方案资源管理器中的引用未更新

c++ - 无法将参数 1 从 'char' 转换为 'const std::basic_string<_Elem,_Traits,_Ax> &'

visual-studio - 什么是 Visual Studio 2008 Shell(集成模式)?

c# - 文件.复制后文件.删除

c# - XML 序列化异常

c# - 在文本框上显示建议

c# - 使用 Task.Run 运行时用户控件卡住

c# - 将 ListView 导出为 CSV