自定义控件在窗体上是不可见的

本文关键字:窗体 自定义控件 | 更新日期: 2023-09-27 18:05:29

所以我有三个对象"Truck, Employee和Load"。我需要能够通过图标(显示对象的类型)和标签(对象的名称)直观地表示这些对象。

我认为解决这个问题的方法是创建一个自定义控件。所以我这样做:右键单击项目>添加>用户控制>自定义控件

然后在设计器窗口中添加了一个图片框。我将在下面展示后面的代码:

public partial class DragAbleObject : Control
{
        private Object _value;
        private String _name;
        public DragAbleObject()
        {
            InitializeComponent();
            pictureBox1.Image = TIS.Client.Properties.Resources._11187316_10206518167692890_1714447113226270672_o;
        }
        public Object Value
        {
            get { return _value; }
            set { _value = value; }
        }
        public String Name
        {
            get { return _name; }
            set { _name = value; }
        }
        protected override void OnPaint(PaintEventArgs pe)
        {
            base.OnPaint(pe);
        }
    }
}

我认为这应该工作,但当我添加这个控件到我的窗体它显示什么

图片:编辑器在嵌入时给出错误。

https://i.stack.imgur.com/yl7Oc.png

https://i.stack.imgur.com/lJt5M.png

https://i.stack.imgur.com/CWdzW.png

自定义控件在窗体上是不可见的

如果您想在您的控件中放置其他控件,则派生自UserControl(添加用户控件而不是自定义控件)。在大多数情况下,这是复合控件的合适基类。

Form类似,您将有一个可以放置PictureBox的设计器。