c# 自定义控件,属性在运行时恢复了默认值
自定义了一个控件,并添加了一个颜色属性BorderColor,在窗体设计时,通过属性栏更改值可以直接体现出来,为何运行之后却又恢复了默认的值?如:属性BorderColo...
自定义了一个控件,并添加了一个颜色属性BorderColor,在窗体设计时,通过属性栏更改值可以直接体现出来,为何运行之后却又恢复了默认的值?如:属性BorderColor默认值为黑色,在窗体设计时通过属性栏更改为green后,控件边框显示为绿色,可在运行后却恢复了黑色,请大哥大姐们帮帮忙,谢谢!(没有分了!)
展开
2个回答
展开全部
不会的吧,你在自定义控件内部这样定义
[Browsable(true)]
public Color BorderColor { get; set; }
追问
你好,如果不在里面添加任何处理代码,你这个倒是可以,但问题时,如果在这个属性里添加一些相关的代码处理那就不行了,比如添加颜色更改之后的事件处理,又或者里面添加一些变量等等,在这种情况下就不行。
追答
如果你添加了业务相关的代码,有可能会执行失败。因为业务代码有可能包含读取配置文件、读取程序集等内容,这些都需要运行时才能执行。所以,建议你在属性的set方法里只处理UI相关的内容,比如更改其它颜色属性值。我自己也经常这么处理,是没问题的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询