Забыли пароль?

0

Встала задача создать свой элемент управления (кто-то его еще вроде контролом называет) в Visual Studio 2012 для дальнейшего его использования в своих приложениях. Соответственно необходимо скомпилировать его как dll.
Элемент управления должен быть графическим индикатором в виде ламы или светодиода со свечением различными цветами.
В интернете нашел готовые картинки для всех состояний свечения, осталось сделать из них готовый ToolBar в виде dll.
Последовательность действий следующая:
Запускаем Visual Studio. В моем случае это Visual Studio 2012.


Нажимаем «Файл» — «Создать проект» – «Приложение Windows Form». Вводим имя проекта, указываем где он будет расположен и жмем Ок.

shag1

Появится форма приложения. Поскольку цель на выходе получить dll файл, приложением которое мы создали, будем пользоваться лишь для отладки нашего элемента управления.

Идем в «ПРОЕКТ» – «Добавить пользовательский элемент управления…», выбираем «Пользовательский элемент управления», присваиваем ему имя и жмем «Добавить».

shag2

shag3

В Visual Studio появился еще один конструктор, он уже относится непосредственно к оформлению нашего элемента управления. Теперь необходимо расположить на его форме наш световой индикатор. Для этого открываем «Панель элементов» и выбираем в ней «PictureBox».

shag4

shag5

На форме появился пустой элемент управления  PictureBox. Идем в его свойства и выбираем свойство «Image». Появляется форма «Выбор ресурса» в которой выбираем «Файл ресурсов проекта» и «Импорт…»

shag6

shag7

Иду в папку с моими картинками, выделяю их и жму «Открыть». В форме «Выбор ресурса» появился список открытых файлов. Выделяю тот, который будет по умолчанию (лампочка которая не горит) и жму Ок.

shag8

shag9

На форме нашего элемента управления появилась выбранная ранее лампочка. Поскольку на  создаваемом элементе управления больше ничего не будет, размеры PictureBox и формы можно сжать.

shag10

shag11

Далее жмем правой кнопкой мыши на форме и в раскрывшемся меню выбираем «перейти к коду».

shag12

Перед конструктором вставляем код:
        public int NumColor
        {
            get { return color; }
            set { color = value; GetLED(); }
        }
Здесь мы создаем свойство нашего элемента управления NumColor с типом int. Оно будет определять номер цвета лампочки.
Get определяет поведение, когда из элемента управления считывается значение свойства  NumColor.
Set определяет что делать с новым значением свойства, если его изменили.
После конструктора вставляем код:
        int color = 0;
        public void GetLED()
        {
            if (color == 0) pictureBox1.Image = Properties.Resources.LedNone;
            if (color == 1) pictureBox1.Image = Properties.Resources.LedGreen;
            if (color == 2) pictureBox1.Image = Properties.Resources.LedRed;
            if (color == 3) pictureBox1.Image = Properties.Resources.LedBlue;
            if (color == 4) pictureBox1.Image = Properties.Resources.LedYellow;
        }
Здесь мы при разных значениях свойства NumColor зажигаем лампочку разными цветами подставлением имени нужного файла из ресурсов проекта в  pictureBox.

shag13

Выполняем построение клавишей F6. Если построение прошло успешно, переходим к форме самого приложения, с помощью которого будет проверять работу нашего элемента управления.

shag14

Идем в «панель элементов» и ищем в ней только что нами созданный элемент. Вытаскиваем его на форму.

shag16

 

Теперь надо оказать чем-то воздействие на наш индикатор. Для этого вновь идем в «Панель элементов» и вытаскиваем от туда на форму «TrackBar».

 

shag17

shag18

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

Добавляем в открывшуюся функцию:
colorLED1.NumColor = trackBar1.Value;

 

shag19

Запускаем программу и пробуем перемещать TrackBar наблюдая как меняется цвет наших лампочек.

shag20

После того как все у нас протестировано и все заработало, можно заняться созданием нашего dll файла. Для этого идем в «ПРОЕКТ» – «Свойство проекта». В свойстве проекта во вкладке «Приложение» установить «Тип выходных данных» –»Библиотека классов.

shag21

shag22

После этого можно закрыть свойства проекта и напротив кнопки Запуск изменить закладку «Debug» на закладку «Release». После этого строим проект клавишей F6.
Закрываем решение. В папке с проектом в bin/Release лежит тот самый dll файл который мы создали. Теперь мы можем использовать его в своих приложениях каждый раз, как нам потребуются цветные светодиодные индикаторы. Его можно копировать в другое место, на другой компьютер и там его использовать, а можно выложить в интернет для того чтобы упростить работу другим.

Для того, что бы использовать элемент управления содержащийся в dll файле в своем приложении его необходимо добавить в «Панель элементов» следующим образом:
Открываем панель элементов, щелкаем на свободном месте правой кнопкой мыши и в открывшемся меню выбираем «Добавить вкладку».

shag23

Присваиваем этой вкладке какое-нибудь имя. Под ней щелкаем правой кнопкой мыши и в выпавшем меню выбираем «Выбрать элементы…»

 

shag24

Появится форма «Выбор элементов панели элементов» в которой нажимаем обзор и выбираем наш dll файл. Далее жмем Ок. В панели элементов появился элемент подключенный из dll файла.

shag25

Оставить комментарий