我在VB.NET(VS 2005)中有一个解决方案
在这个解决方案中,我有一个自定义控件,它继承自一个抽象类。
现在,由于VS是VS,它不希望在设计器中显示控件,因为它的父级是抽象的。
现在,我想在此控件中添加带有图像(bmp或ico)的图片框。 通常我已经完成了这个打开设计师并拖动图片框,选择背景中的图像。
但是由于设计师不可用,我该如何将图像添加到我的控制中?
答案 0 :(得分:2)
您有两种选择:
<强> 1。将图像添加为项目资源,然后在运行时创建并添加PictureBox控件。
这有点乱,但解决了这个问题。将图像添加到项目资源。并在运行时执行以下操作:
PictureBox pb = new PictureBox();
pb.Image = (Bitmap)global::MyProject.MyImage;
myCustomControl.Controls.Add(pb);
pb.Location = new Point(x,y);
// and any other properties that need setting
<强> 2。修复控件的设计时属性
这是更好的长期解决方案。 MSDN有很多关于“Designer”属性的信息,它有点像在设计模式下运行的代码,因此您可以与Visual Studio中的控件进行交互。有时VS很擅长为你设计一些设计部件,有时候你必须给它一些帮助。仅仅因为控件基于抽象类并不意味着你无法为它设置设计器。