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

Custom control is invisible on winform

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

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

然后我给设计器添加了一个图片框window。我将在下面显示代码:

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);
        }
    }
}

我认为这应该有效,但是当我将此控件添加到我的表单时它什么也没显示。

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

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

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

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

如果您想将其他控件放入您的控件中,请改为从 UserControl 派生(添加 User Control 而不是 Custom Control).在大多数情况下,这是复合控件的适当基础 class。

Form 类似,您将拥有一个设计器,您可以在其中放置您的 PictureBox