用户控件属性设计器属性

Ada*_*ile 7 c# user-controls windows-mobile

对于Windows Mobile上的C#UserControl(虽然如果您知道完整的Windows,请回答它可能有效)如何更改Control的公共属性之一的Designer Properties窗口中显示的内容.例如:

private Color blah = Color.Black;

public Color Blah
{
    get { return this.blah; }
    set { this.blah = value; }
}
Run Code Online (Sandbox Code Playgroud)

这显示为控件,但它在"杂项"类别中,没有描述或默认值.我尝试使用System.ComponentModel中的设置,如"DesignerCategory",例如:

[DesignerCategory("Custom")]
Run Code Online (Sandbox Code Playgroud)

但是说这只适用于类声明......可以发誓它是我以前用过的System.ComponentModel项目......

更新:

@John说:

DesignerCatogy用于表示类是表单,组件等.

试试这个:

[类别( "自定义")]

我需要使用特定的命名空间才能获得这些命名空间吗?我已经完全尝试过这些并且编译器无法识别它们.

在.NETCF中,我似乎从System.ComponentModel可用的是:

DataObject,
DataObjectMethod,
DefaultValue,
DesignerCategory,
DesignTimeVisible,
EditorBrowsable
Run Code Online (Sandbox Code Playgroud)

它不会尖叫的唯一一个是EditorBrowsable

Joh*_*ohn 6

DesignerCategory 用于表示类是否是表单、组件等。

对于完整的窗口,您想要的属性是:

[System.ComponentModel.Category("Custom")]
Run Code Online (Sandbox Code Playgroud)

对于您可以使用的描述 [System.ComponentModel.Description("This is the description")]

两者一起使用:

[System.ComponentModel.Category("Custom"),System.ComponentModel.Description("This is the description")]
Run Code Online (Sandbox Code Playgroud)

然而,这是其中的一部分,system.dll对于 windows mobile 可能有所不同。


Rob*_*per 4

这对你有用吗?我不喜欢 CF 开发,但看起来您需要添加一些 XML 元数据才能启用它:

http://blogs.msdn.com/bluecollar/archive/2007/02/08/adding-compact-framework-design-time-attributes-or-more-fun-with-textboxes.aspx

有趣的阅​​读.. 看起来 CF 中取消了很多设计时支持,因为你不在设备上设计它们.. 这对我来说有点奇怪.. 无法想象使用手持设备作为开发装备!

向下滚动大约一半即可找到好东西;)