Tworzenie własnego elementu do ToolBoxa (tworzenie plików .dll)

Witam was wszystkich. Dzisiaj pokażę wam jak zrobić swoją własną kontrolkę do toolboxa. Będzie to bardzo prosta kontrolka. Będzie to takie małe wprowadzenie po którym pokażę inne przykłady.  Zrobimy sobie taki label który będzie mógł posiadać przezroczyste tło.  Jak to teraz wygląda:

toolboxcontrol_1Jak tego dokonamy? Otóż wybierzemy sobie obiekt który może posiadać przezroczyste tło, ja wybrałem „Panel” następnie na tym panelu nadrukujemy nasz tekst. Brzmi prosto ale postaramy się o pewne udogodnienia dzięki którym nasz Panel zamieni się bardzo podobny Label :). Otwieramy dwa razy Visual Studio, w jednym oknie będziemy testować naszą kontrolkę a w drugim ją tworzyć. W pierwszym oknie uruchamiamy normalny projekt.

toolboxcontrol_2Dobra, teraz będziemy pracowali na naszej kontrolce. Jak pisałem wcześniej wykorzystamy do tego Panel. Aby włączyć do naszej biblioteki „Panel” wykorzystamy metodę „Inherits” którą wpisuje się po nazwie klasy. Aby móc korzystać z paneli i innych dziedziczonych elementów musimy zaimportować najpierw bibliotekę w której nasze dziedziczone elementy się znajdują. W naszym przypadku „Imports System.Windows.Forms”.

toolboxcontrol_3Jak widzicie nic mi się tutaj nie udało. Aby to naprawić musimy dodać referencje. Klikamy prawym przyciskiem myszy na nasz projekt i wybieramy „Add Reference…”

toolboxcontrol_4Po wybraniu tej opcji pokażę się lista elementów które możemy wykorzystać w naszym programie, te które już są załączone mają pododawane fajeczki, nasz element takowej nie ma więc trzeba mu ją dać.:

toolboxcontrol_5Klikamy „OK” i zrobione, nasze elementy są gotowe do wykorzystania:

toolboxcontrol_6Zmieniły kolor na właściwy to znaczy bez podkreślników. Nasz twór wykorzystuje wszystkie elementy panelu które możemy zablokować albo narzucić użytkownikowi. Zaczynamy od stworzenia konstruktora.

Jak widać powyżej zaimportowałem jeszcze jedną bibliotekę dzięki której mogłem zainicjować zmienną „Color”. Należy teraz utworzyć nasz plik .dll aby to zrobić wciskamy przycisk „F7” lub w zakładce Build-> Build Solution

toolboxcontrol_7Po wykonaniu tej czynności nasz plik .dll powinien utworzyć się w katalogu naszego projektu. Dokładna lokalizacja będzie wypisana w informacji jaką dostaniemy o udanym Buildzie

toolboxcontrol_8I w folderze:

toolboxcontrol_9Mamy już gotowy plik .dll musimy go teraz dodać do naszego toolboxa, przechodzimy do naszego zwykłego projektu i otwieramy toolbox (ja dodałem sobie nową zakładkę o nazwie „Moja kontrolki” można to zrobić w prosty sposób przyciskając „add Tab”) klikamy prawym przyciskiem myszy w zakładce do której chcemy dodać nowy element i wybieramy „Choose Items…”:

toolboxcontrol_10W pierwszej zakładce klikamy przycisk „Browse…” i znajdujemy nasz plik .dll w wyżej wspomnianym katalogu.

toolboxcontrol_11Klikamy „Otwórz” , jeśli wszystko poszło pomyślnie nasz element pojawi się na liście z fajeczką i po wciśnięciu „Ok” powinien pojawić się w toolboxie.

toolboxcontrol_12Dobra mamy kontrolkę, wrzućmy to na ruszt zobaczymy co się stanie.

toolboxcontrol_13Otrzymaliśmy zwykły Panel ale z ustawieniami które zawarliśmy w naszej instrukcji. Zastanawiacie się pewnie po co ta cała heca z otwieraniem dwóch projektów otóż w jednym będziemy tworzyć naszą kontrolkę a w drugim będziemy ją testować, wszystko co zaktualizujemy w jednym projekcie automatycznie zaktualizuje się w drugim. Możecie zrobić sobie test, zmieńcie sobie kolor  z transparent na black i zbudujcie projekt (F7)  następnie przeciągnijcie swoją kontrolkę na formę a zauważycie, że kolor będzie inny niż poprzednio. Dobra teorie mamy za sobą. Każdy element jeśli ustawimy mu kolor na transparent będzie przezroczysty tylko dla obiektu który jest dla niego typu „Parent”. jak to wygląda w praktyce:

toolboxcontrol_14Musimy więc dodać do naszego panelu kwadrat w którym umieścimy nasz tekst, wielkość naszego panelu i jego położenie będziemy mogli określać dowolnie tak jak wielkość wpisanego w niego kwadratu. Musimy najpierw utworzyć metodę która utworzy nam ten kwadra, wygląda ona tak:

Na naszej formie będzie to wyglądać tak:

toolboxcontrol_15Teraz musimy mieć możliwość ustawienia położenia naszego kwadratu. Jego wielkością nie będziemy się przejmować ponieważ będzie ona automatycznie dopasowywać się do tekstu w zależności od naszych wyborów, zaraz pokażę wam o co chodzi.

dzięki tej metodzie będziemy mogli we właściwościach naszego obiektu dowolnie sterować położeniem naszego kwadratu:

toolboxcontrol_18Dodajemy teraz tekst:

Efekt tego działania nie jest jeszcze powalający ale poczekajcie jeszcze chwilę. Wygląda to tak:

toolboxcontrol_19

Teraz damy możliwość wpisania własnego tekstu przez użytkownika i kilku innych opcji :

Do każdej metody dodałem „a_” aby wyświetlały się jako pierwsze. Teraz przejdziemy do utworzenia naszego tekstu.

1. Dodajemy naszą kontrolkę i mniej więcej wyśrodkowujemy tekst:

toolboxcontrol_202. Dodajemy/przenosimy kolejną na tą pierwszą, zmieniamy jej szerokość i ustawiamy ją mniej więcej po środku tej pierwszej:

toolboxcontrol_213. Zmieniamy kolor ramek na transparent i proszę:

toolboxcontrol_22Wszystko pięknie wygląda. Dzięki temu, że sami zrobiliśmy tą kontrolkę z łatwością przyjdzie nam jej obsługa. Aby zmienić nazwę kontrolki w toolboxie należy zmienić nazwę klasy z class1 na jakąś nam odpowiadającą. Pełen projekt do pobrania tutaj: Toolbox_control

Jeśli nie udał wam się jakiś krok z początku artykułu lub chcecie zobaczyć jak ja robiłem tą kontrolkę to zapraszam do oglądania filmu poniżej:

Permalink do tego artykułu: https://visualmonsters.cba.pl/tworzenie-wlasnego-elementu-do-toolboxa-tworzenie-plikow-dll/

1 ping

  1. […] « Tworzenie własnego elementu do ToolBoxa (tworzenie plików .dll) […]

Dodaj komentarz

Twój adres email nie będzie publikowany.