加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 自定义控件不会在Designer中公开图像属性

发布时间:2020-12-15 21:17:49 所属栏目:百科 来源:网络整理
导读:我已经制作了一个自定义轨迹栏控件,主要是作为练习.我知道我可以/应该继承我所需要的而不是重新发明轮子,但我在努力中学到了很多东西. 现在,我有很多属性,除了几个图像属性之外,它们都出现在设计器中.这就是我所拥有的,模仿其他工作属性(那些是整数和颜色,什
我已经制作了一个自定义轨迹栏控件,主要是作为练习.我知道我可以/应该继承我所需要的而不是重新发明轮子,但我在努力中学到了很多东西.
现在,我有很多属性,除了几个图像属性之外,它们都出现在设计器中.这就是我所拥有的,模仿其他工作属性(那些是整数和颜色,什么不是,它们都按预期工作……),所以也许我应该以其他方式做图像.最重要的是,我不知道我在做什么:)

编辑:我的自定义控件是在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

解决方法

我在这里找到了一些东西:
http://msdn.microsoft.com/en-us/library/system.drawing.design.imageeditor.aspx

考虑这个解决了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读