如何在编辑器中检测我的自定义控件?

时间:2013-09-04 16:34:53

标签: c# editor custom-controls picturebox displayobject

我有一个我自己创建的UserControl,它用于显示像PictureBox,但它显示我的数据。因此,如果没有目标事物来显示它,它没有任何图像显示。如果发生这种情况(总是当我将自定义控件放在窗体上时),由于没有要显示的图像,因此无法看到控件(仅当我选择它时)。我想做像PictureBox那样的事情,在编辑器中没有图像消失时,它有一个行边框“告诉我们”“这里是表格上的图片框”,但当我运行时程序和没有图像的PictureBox,它没有那个边框。 Image。 如何为自定义控件检测到这个?

1 个答案:

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