Как создать свой компонент Windows Forms - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Подскажите новичку, что делаю неправильно, а то застопорился уже 2 дня на одном месте. Буду писать подробно что делаю, чтобы Вы подсказали где ошибка. (VisualStudio 2012 Professional) 1. Создаю проект

Библиотека элементов управления 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();
 
        }
    }
}
3. Запускаю построение решения. Проект->Построить решение. Успех

========== Перестроение всех: успешно: 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;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5