枚举可以实现数组枚举么?

deadshot123 2006-06-07 05:48:11
public enum MyControlsStyle
{
Free={Color.Red,Color.Blue},
Busy={Color.Black,Color.Red}
}

public class MyControls :System.Windows.Form.UserControl
{
MyControlsStyle style;
protected Label lb1;
public MyControlsStyle StyleTest
{
set
{
lb1.Backcolor=//对应MyControlsStyle的第一种颜色
lb1.Forecolor=//对应MyControlsStyle的第二种颜色
}
}

}

想实现上述功能,
还是说需要自定义一个派生的Label(多一个MyControlsStyle属性,该派生的Label根据MyControlsStyle来绘制),然后需要增加一个枚举类型的时候
需要重新编译MyControlsStyle和继承的Label

是否能实现增加枚举类型的时候只要编译MyControlsStyle就可以的?
...全文
974 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
negat 2006-06-08
  • 打赏
  • 举报
回复
emnu?
Mark
deadshot123 2006-06-08
  • 打赏
  • 举报
回复
那样我不能定义几个样式状态 每次都要new一下 扩展新的样式比较麻烦

这样我觉得

还是说需要自定义一个派生的Label(多一个MyControlsStyle属性,该派生的Label根据MyControlsStyle来绘制),然后需要增加一个枚举类型的时候
需要重新编译MyControlsStyle和继承的Label

这样比较好
Ivony 2006-06-08
  • 打赏
  • 举报
回复
这个用枚举真是匪夷所思,同意挑刺的做法。
tiaoci 2006-06-08
  • 打赏
  • 举报
回复
然后把你所有的Style放到一个集合中
tiaoci 2006-06-08
  • 打赏
  • 举报
回复
定义成类么

public class MyControlsStyle
{
public Color BackColor;
public Color ForeColor;
}
deadshot123 2006-06-08
  • 打赏
  • 举报
回复
up
deadshot123 2006-06-07
  • 打赏
  • 举报
回复
up 如何变通?
BlueDog 2006-06-07
  • 打赏
  • 举报
回复
简单的说不能
因为枚举只能以除char型的整型为基类。

但是另一方面,要实现你所想要的也是可以的
不过只能采取变通的方法

110,536

社区成员

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

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

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