2013-09-04 6 views
0

У меня есть UserControl, который я создал сам, он предназначен для отображения как PictureBox, но он отображает мои данные о чем-то. Поэтому, если нет цели, чтобы показать что-то в этом роде, у нее нет изображения. Если это происходит (всегда, когда я добавляю свой настраиваемый элемент управления в форму), элемент управления не может быть замечен (только если я его выберу) из-за отсутствия изображения для отображения. Я хочу сделать что-то наподобие того, что делает PictureBox, в редакторе, когда у него нет изображения для disaplay, у него есть граница линии, чтобы «рассказать нам», «вот окно изображения в форме», но когда я запускаю и PictureBox без изображения, у него нет этой границы. Image. Как я могу обнаружить это для своего пользовательского элемента управления?Как определить, был ли мой пользовательский элемент управления в редакторе или нет?

+0

Установить 'BorderStyle = BorderStyle.FixedSingle'. –

+0

WinForms? Если да, см. Свойство DebugMode. –

+0

Я думаю, что это свойство «DebugMode» - это то, что я искал ... как я могу проверить это свойство? –

ответ

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

Спасибо! Оно работает :) –

 Смежные вопросы

  • Нет связанных вопросов^_^