Разрешение вопросов, связанных с созданием элементов управления и компонентов
В этом разделе перечислены распространенные проблемы, возникающие при разработке компонентов и элементов управления. Дополнительные сведения см. в разделе Программирование с использованием компонентов.
Не удается добавить элемент управления на панель элементов
Не удается выполнить отладку пользовательского элемента управления или компонента Windows Forms
Событие в производном элементе управления или компоненте вызывается дважды
Ошибка во время разработки. «Не удалось создать компонент "имя компонента"»
STAThreadAttribute
Значок компонента не отображается на панели элементов
Не удается добавить элемент управления на панель элементов
Если вы хотите добавить на панель элементов настраиваемый элемент управления, созданный в другом проекте, или сторонний элемент управления, это необходимо сделать вручную. Если ваш элемент управления или компонент уже находится в текущем проекте, он отобразится на панели элементов автоматически. Дополнительные сведения см. в разделе Пошаговое руководство: Автоматическое заполнение панели элементов пользовательскими компонентами.
Добавление элемента управления на панель элементов
Щелкните панель инструментов правой кнопкой мыши и выберите команду Выбрать элементы.
Добавьте компонент в диалоговом окне Выбор элементов панели элементов.
Чтобы добавить компонент или элемент управления .NET Framework, откройте вкладку Компоненты .NET Framework.
— или —
Чтобы добавить COM-компонент или элемент управления ActiveX, откройте вкладку COM-компоненты.
Если элемент управления указан в диалоговом окне, выделите его и нажмите кнопку ОК.
Элемент управления будет добавлен на панель элементов.
Если элемент управления не указан в диалоговом окне, выполните следующие действия.
Нажмите кнопку Обзор.
Найдите папку с DLL-файлом, содержащим ваш элемент управления.
Выберите этот DLL-файл и нажмите кнопку Открыть.
Элемент управления отобразится в диалоговом окне.
Выберите элемент управления и нажмите кнопку ОК.
Элемент управления будет добавлен на панель элементов.
Не удается выполнить отладку пользовательского элемента управления или компонента Windows Forms
Если элемент управления является производным от UserControl класса, можно отлаживать его поведение во время выполнения с использованием тестового контейнера. Дополнительные сведения см. в разделе Как Тестирование во время выполнения поведения элемента UserControl.
Другие настраиваемые элементы управления и компоненты не являются автономными проектами и должны размещаться в приложении, таком как проект Windows Forms. Для выполнения отладки элемент управления или компонент необходимо добавить в проект Windows Forms.
Отладка элемента управления или компонента
В меню Сборка выберите пункт Сборка решения, чтобы создать решение.
В меню Файл выберите пункт Добавить, и затем Новый проект, чтобы добавить в приложение тестовый проект.
В диалоговом окне Добавление нового проекта выберите в качестве типа проекта Приложение Windows.
В обозревателе решений щелкните узел Ссылки для своего нового проекта правой кнопкой мыши. В контекстном меню выберите пункт Добавить ссылку, чтобы добавить ссылку на проект, содержащий элемент управления или компонент.
Создайте экземпляр элемента управления или компонента в тестовом проекте. Если компонент находится на панели элементов, его можно перетащить в область конструктора или создать экземпляр программными средствами, как показано в следующем примере кода.
Dim Component1 As New MyNeatComponent()
MyNeatComponent Component1 = new MyNeatComponent();
После этого отладку элемента управления или компонента можно выполнить в обычном режиме.
Дополнительные сведения об отладке см. в разделе отладки в Visual Studio и Пошаговое руководство: Отладка пользовательских Windows Forms элементы управления во время разработки.
Событие в производном элементе управления или компоненте вызывается дважды
Это может быть связано с дублированием предложения Handles
. Дополнительные сведения см. в разделе Устранение неполадок, связанных с унаследованными обработчиками событий в Visual Basic.
Ошибка во время разработки. «Не удалось создать компонент 'Имя компонента'»
Компонент или элемент управления должен предоставлять конструктор по умолчанию без параметров. Если в среде разработки создается экземпляр компонента или элемента управления, он не пытается предоставить какие-либо параметры для перегрузок конструктора, принимающих параметры.
STAThreadAttribute
STAThreadAttribute Информирует общеязыковой среды выполнения (CLR) о том, что Windows Forms использует модель однопотокового подразделения. Если не применить этот атрибут к методу Main
приложения Windows Forms, может возникнуть непредусмотренное поведение. Например, фоновые изображения может отображаться для элементов управления, например ListView. Некоторым элементам управления этот атрибут может требоваться также для правильного выполнения операций автозаполнения и перетаскивания.
Значок компонента не отображается на панели элементов
При использовании ToolboxBitmapAttribute для сопоставления значка с настраиваемым, растровое изображение не отображается в панели элементов для автоматически созданных компонентов. Чтобы увидеть растровое изображение, перезагрузите элемент управления с помощью диалогового окна Выбор элементов панели элементов. Дополнительные сведения см. в разделе Как Предоставление точечного рисунка панели элементов для элемента управления.
См. также
- Создание элементов управления Windows Forms во время разработки
- Пошаговое руководство. Автоматическое заполнение панели элементов пользовательскими компонентами
- Практическое руководство. Тестирование поведения элемента UserControl во время выполнения
- Пошаговое руководство. Отладка пользовательских элементов управления Windows Forms во время разработки
- Создание компонентов
- Устранение неполадок, возникающих в режиме разработки