我有一个我自己创建的UserControl,它用于显示像PictureBox,但它显示我的数据。因此,如果没有目标事物来显示它,它没有任何图像显示。如果发生这种情况(总是当我将自定义控件放在窗体上时),由于没有要显示的图像,因此无法看到控件(仅当我选择它时)。我想做像PictureBox那样的事情,在编辑器中没有图像消失时,它有一个行边框“告诉我们”“这里是表格上的图片框”,但当我运行时程序和没有图像的PictureBox,它没有那个边框。 Image。 如何为自定义控件检测到这个?
答案 0 :(得分:1)
您可以使用属性DesignMode
来确定您的控件是否处于设计模式以在其周围绘制Rectangle
,否则在运行时,将不会绘制矩形。
public class CustomControl : UserControl
{
protected override void OnPaint(PaintEventArgs e)
{
if (DesignMode){
e.Graphics.DrawRectangle(Pens.Black, new Rectangle(0,0,ClientSize.Width-1, ClientSize.Height-1));
}
base.OnPaint(e);
}
}