如何在自定义控件里添加复杂属性

如何在自定义控件里添加复杂属性,第1张

假定你的属性控件是object,并且已初始化好.if(object is TextBox){this.controls.Add(object)}else{object.Size = new Size(50,100) object.location = new Point(0, 0)}

var obj:Object={obj1:new MovieClip(),obj2:1}

上面这样声明,obj1、obj2就是obj的属性,就像影片剪辑的x、y属性一样,可以通过影片剪辑的x、y属性访问到影片剪辑对象吗?答案是,不能。

所以你的要求也是不能实现的。

有两个修改意见提供给你参考:

1.不要对属性添加侦听,直接对obj添加侦听,这样一切都会变得很方便;

2.任然需要保留对属性侦听的情况:当有很多obj的时候,将他们放入一个数组objArr,然后在这个数组中查找符合条件的

function onShow(e:Event):void{

var mc:MovieClip=e.currentTarget as MovieClip

for(var i:int = 0i<objArr.lengthi++){

if(objArr[i].obj1 == mc){

//objArr[i]就是你需要的

return

}

}

}

<add key="红色" value="Color.Red"/>

<add key="蓝色" value="Color.Blue"/>

改成这样

<add key="红色" value="Red"/>

<add key="蓝色" value="Blue"/>

在给值的时候这样写:

string str="Red"//这个“Red”是你从配置文件里读取出来的

lblDemo.BackColor=System.Drawing.Color.FromName(str)//不一定是BackColor任何一个颜色属性都可以这样写


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/11249395.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存