我已经制作了一个自定义轨迹栏控件,主要是作为练习.我知道我可以/应该继承我所需要的而不是重新发明轮子,但我在努力中学到了很多东西.
现在,我有很多属性,除了几个图像属性之外,它们都出现在设计器中.这就是我所拥有的,模仿其他工作属性(那些是整数和颜色,什么不是,它们都按预期工作……),所以也许我应该以其他方式做图像.最重要的是,我不知道我在做什么:)
现在,我有很多属性,除了几个图像属性之外,它们都出现在设计器中.这就是我所拥有的,模仿其他工作属性(那些是整数和颜色,什么不是,它们都按预期工作……),所以也许我应该以其他方式做图像.最重要的是,我不知道我在做什么:)
编辑:我的自定义控件是在Windows窗体解决方案(VC#2008 Express)中,为了澄清,我的问题是我的控件的某些属性(图像属性)在设计时没有显示在属性选项卡中.
编辑2:阅读了DependencyProperty并完全无法理解这个概念(我在编程时非常noob,或者你的大师称这个黑巫术魔法?).我已经习惯让IDE解决所有问题,我很高兴看到IDE很高兴地展示了我的其他属性,比如Color BarColor,int Value等等.为什么Image Leftimage会有所不同,很多标准控件有图像属性,也许我认为IDE可以解决我的所有错误是天真的,但是每次他们必须在控件中设置图像属性时,微软的人肯定没有构建新的编辑器.我敢打赌,他们重用了一些东西,我也应该这样做.
我卡住了:(
无论如何,这是我糟糕的CoD3Z:
private Image _Leftimage; /// <summary> /// Sets the small image appearing to the left of the trackbar /// </summary> [Description("The small image appearing to the left of the trackbar"),Category("Appearance"),DefaultValue(typeof(Image),"null"),browsable(true),Editorbrowsable(EditorbrowsableState.Always)] public Image Leftimage { private get { return _Leftimage; } set { if (value.Height != 16 || value.Width != 16) { _Leftimage = new Bitmap(value,new Size(16,16)); } else _Leftimage = value; Invalidate(); } }
那么,DefaultValue和DefaultValueAttribute有什么区别?
感谢您的任何指示和帮助!
/的Mikael
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。