Как создать свой компонент Windows Forms - C#
Формулировка задачи:
Доброго времени суток. Подскажите новичку, что делаю неправильно, а то застопорился уже 2 дня на одном месте. Буду писать подробно что делаю, чтобы Вы подсказали где ошибка. (VisualStudio 2012 Professional)
1. Создаю проект
3. Запускаю построение решения. Проект->Построить решение. Успех
Библиотека элементов управления Windows Forms
2. Изменяю наследование класса, допустим, от компонента Label. Переопределяю метод рисования для градиентного заполнения и получаю такой код:namespace Test { public partial class UserControl1: Label { public UserControl1() { InitializeComponent(); } private Color startColor = Color.Black, endColor = Color.White; public Color StartColor { get { return startColor; } set { startColor = value; } } public Color EndColor { get { return endColor; } set { endColor = value; } } protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Color end = Color.FromArgb(100, endColor); Color start = Color.FromArgb(100, startColor); LinearGradientBrush b = new LinearGradientBrush(ClientRectangle, end, start, 0.0); e.Graphics.FillRectangle(b, ClientRectangle); b.Dispose(); } } }
========== Перестроение всех: успешно: 1, с ошибками: 0, пропущено: 0 ==========
4. Добавляю к решению Test новый проект. ПМК->Добавить->Новое приложение Windows Forms. Теперь у меня в решении 2 проекта - Test и Form1. 5. На форму Form1 пытаюсь добавить созданный мной компонент. Изначально в списке его нет, хотя в учебнике, по которому я читаю, компонент из текущего решения должен появиться автоматом. ОК, пытаюсь добавить вручную. ПКМ->Выбрать компоненты->.NET->Выбираю мою ...bin/Debug/Test.dll, добавляю. Вылазит сообщение как на приклеплённой картинке: В чем проблема. Подскажите кто сталкивался, или на каком этапе что делаю неправильно. Спасибо.Решение задачи: «Как создать свой компонент Windows Forms»
textual
Листинг программы
/// <summary> /// Обязательный метод для поддержки конструктора - не изменяйте /// содержимое данного метода при помощи редактора кода. /// </summary> private void InitializeComponent() { components = new System.ComponentModel.Container(); // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д