我有一个我自己创建的 UserControl,它用于像 PictureBox 一样的显示,但它显示我关于某些东西的数据。因此,如果没有目标事物可以显示有关它的内容,则它没有任何图像可以显示。如果发生这种情况(总是在我将自定义控件放在窗体上时),则无法看到该控件(仅当我选择它时),因为没有要显示的图像。我想做类似于 PictureBox 所做的事情,在编辑器中当它没有要显示的图像时,它有一个线条边框来“告诉我们”“这是表单上的一个图片框”,但是当我运行程序和没有图像的 PictureBox,它没有那个边框。 图像。如何为我的自定义控件检测到这一点?
问问题
147 次
1 回答
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);
}
}
于 2013-09-04T16:43:54.857 回答