расширить пользовательский контроль - PullRequest
2 голосов
/ 24 апреля 2009

У меня есть вопрос о расширении пользовательского элемента управления, который наследуется от UserControl.

public partial class Item : UserControl
{
    public Item ()
    {
        InitializeComponent();
    }
}

и я хотел бы создать элемент управления, который наследуется от элемента

sg вот так

public partial class ItemExtended : Item
    {
       public ItemExtended():base()
        {
            InitializeComponent();
        }
    }

Это прекрасно работает, конечно, и наследие работает, но моя проблема в дизайнере

Я просто не могу открыть этот ItemExtended в Design ....

там написано: конструктор типа "Предмет" не найден.

Есть ли у sy объяснение?

это лучший способ сделать это?

Thx

Я, конечно, использую c # в .NET Winform:)

1 Ответ

3 голосов
/ 24 апреля 2009

Вы вызываете InitializeComponent () дважды, вызывая InitializeComponent () для самого производного usercontrol.

Это может привести к проблеме.

И есть свойство справки, называемое IsDesign или Design (что-то похожее) UC, которое помогает избежать ненужных операций пользовательского интерфейса во время разработки (в VS).

Редактировать: это DesignMode. Вы можете избежать запуска функций RT по дизайну. Например, если (! This.DesignMode) InitializeComponents ();

Вы также можете проверить этот форум. http://www.c -sharpcorner.com / Форум / ShowMessages.aspx? ThreadID = 41254

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...