请教.net属性编辑器的属性问题

shuiwenyu 2009-04-28 03:46:39
我现在做了好多自定义属性最后要在.NET的属性编辑器里面显示,比如说我做一个多选一属性可以先定义一个enum 下来再get set
可是我现在想实现另外一种效果就是在设置一个属性时可以弹出来一个对话框可以设置这个属性的子属性
不知道怎么了
请大家指点一下啊
...全文
126 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tsp860901 2009-04-30
  • 打赏
  • 举报
回复
顶一顶
zealot1021 2009-04-30
  • 打赏
  • 举报
回复
直接设置子属性不会...能想到得就是再定义一个枚举,修改了里面的枚举项后把这个枚举再赋给属性
itcrazyman 2009-04-30
  • 打赏
  • 举报
回复
mark up 帮顶
shuiwenyu 2009-04-30
  • 打赏
  • 举报
回复
在顶一下
shuiwenyu 2009-04-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 gomoku 的回复:]
...可以弹出来一个对话框可以设置这个属性的子属性...

见UITypeEditor,以及上述文章提供的例子。
[/Quote]
这个怎么打不开啊
gomoku 2009-04-29
  • 打赏
  • 举报
回复
...设置这个属性的子属性...

如果只是设置属性的子属性(而不用弹出对话框),那么可以用ExpandableObjectConverter来展开该属性。

[TypeConverter(typeof(ExpandableObjectConverter))] //<---
public class Sub
{
public string Name { get; set; }
public Color Color { get; set; }

public override string ToString()
{
return Name + "," + Color;
}
}

public class My
{
public My() { this.Sub = new Sub(); }

public int Number { get; set; }
public Sub Sub { get; set; }

}
gomoku 2009-04-29
  • 打赏
  • 举报
回复
...可以弹出来一个对话框可以设置这个属性的子属性...

UITypeEditor,以及上述文章提供的例子。
shuiwenyu 2009-04-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zealot1021 的回复:]
属性也可以是一个类的对象啊,我就经常这么用的。
有一个实体类departMent,里面有若干个属性,再定义一个实体类employee,
public class employee
{
public employee()
{
}
private departMent dep;

public departMent Dep//属性本身是departMent类的对象
{
get{return dep;}
set{dep=value;}
}
}


是这意思吧?
[/Quote]
先谢谢你了是这个意思
可是我还是不见太懂你的意思
public enum MyDEP
{
NODE = 0,
TTS= 1

}
private MyDEP _DEP;
[Description("设置语言播放文件")]
[Category("Behavior")]
public MyDEP DEP
{
get { return _DEP; }
set
{
_DEP= value;
}
}
这个dep里面不是有俩个属性吗
我想在选择tts这个属性后在设置它的子属性
请你在指教一下
小弟先谢谢了
shuiwenyu 2009-04-29
  • 打赏
  • 举报
回复
没人了
不敢沉
zealot1021 2009-04-28
  • 打赏
  • 举报
回复
这样不就能实现属性下面还有一堆子属性了么
zealot1021 2009-04-28
  • 打赏
  • 举报
回复
属性也可以是一个类的对象啊,我就经常这么用的。
有一个实体类departMent,里面有若干个属性,再定义一个实体类employee,
public class employee
{
public employee()
{
}
private departMent dep;

public departMent Dep//属性本身是departMent类的对象
{
get{return dep;}
set{dep=value;}
}
}


是这意思吧?
shuiwenyu 2009-04-28
  • 打赏
  • 举报
回复
没人来啊
沉了

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧