У меня есть UserControl, который я создал сам, он предназначен для отображения как PictureBox, но он отображает мои данные о чем-то. Поэтому, если нет цели, чтобы показать что-то в этом роде, у нее нет изображения. Если это происходит (всегда, когда я добавляю свой настраиваемый элемент управления в форму), элемент управления не может быть замечен (только если я его выберу) из-за отсутствия изображения для отображения. Я хочу сделать что-то наподобие того, что делает PictureBox, в редакторе, когда у него нет изображения для disaplay, у него есть граница линии, чтобы «рассказать нам», «вот окно изображения в форме», но когда я запускаю и PictureBox без изображения, у него нет этой границы. Image. Как я могу обнаружить это для своего пользовательского элемента управления?Как определить, был ли мой пользовательский элемент управления в редакторе или нет?
0
A
ответ
0
Вы можете использовать свойство 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);
}
}
+0
Спасибо! Оно работает :) –
Установить 'BorderStyle = BorderStyle.FixedSingle'. –
WinForms? Если да, см. Свойство DebugMode. –
Я думаю, что это свойство «DebugMode» - это то, что я искал ... как я могу проверить это свойство? –