自定义控件在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
如果您想将其他控件放入您的控件中,请改为从 UserControl
派生(添加 User Control 而不是 Custom Control).在大多数情况下,这是复合控件的适当基础 class。
与 Form
类似,您将拥有一个设计器,您可以在其中放置您的 PictureBox
。
所以我得到了三个对象 "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
如果您想将其他控件放入您的控件中,请改为从 UserControl
派生(添加 User Control 而不是 Custom Control).在大多数情况下,这是复合控件的适当基础 class。
与 Form
类似,您将拥有一个设计器,您可以在其中放置您的 PictureBox
。