C# --- Rasujemy klasyczną aplikacje opartą na formularzach

...
Czyli szybkie poradniki pokazujące jak zrealizować jakiś drobiazg lub osiągnąć jakiś cel.
Minimalistyczne praktyczne podejście do problematyki programistycznej
...
ODPOWIEDZ
Awatar użytkownika
SunRiver
Użytkownik
Posty: 1338
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Festung Oppeln
Kontakt:

C# --- Rasujemy klasyczną aplikacje opartą na formularzach

Post autor: SunRiver »

W celu zwiększenia atrakcyjności programów często używa się WPF, tak zdecydowanie ten sposób zwiększamy
atrakcyjność interfejsu ... niemniej jednak w większości przypadków wystarczy nam klasyczny formularz.. ale to nie przesądza
o wyglądzie programu gdyż i tu niejako możemy nieco naszą aplikację polepszyć graficznie.

Przykładem takiego odświeżonego interfejsu niech np będzie mały programik jakim jest SunMQTT ....

Obrazek

Tak ten program jest oparty o klasyczne formularze windows ale interfejs został oparty o panele .. jak to zrobić pokarzę
wam na prostym nic nie robiącym programiku. Metoda jest banalna i nie wymaga graficznego przygotowywania lajouta
i co lepsze używa całego dobrodziejstwa Windows Form wraz z prostotą używania , ale wygląda nowocześniej.

Zatem do dzieła ...

Tworzymy sobie nową klasyczną aplikację i nazywamy ja sobie np. NowyLayout ....

Obrazek

Otrzymujemy to co widać ... czyli klasyczny przestarzały i mało atrakcyjny formularz ....

Obrazek

I właśnie o to nam chodziło .... teraz zajmiemy się unowocześnianiem layouta ... :) oczywiście żeby nie było
będziemy mieli jeden buton którego naciśniecie spowoduje wyświetlenie messageboxa. Jak to będzie wyglądać klasycznie
każdy wie wiec nie będziemy robić tego starymi metodami i od razu zajmiemy się unowocześnianiem interfejsu ...
Na początek zajmijmy się naszym oknem :)

Pierwsza rzecz jaką robimy to wyłączamy ramki formularza. Czyli we właściwościach ustawiamy FormBorderStyle na None.

Obrazek

Spowoduje to że nasze okno będzie szarym kwadratem bez jakichkolwiek belek czy przycisków.
Właśnie tego potrzebowaliśmy. Teraz możemy zmienić kolor tła naszego formularza na jakiś zywy i kontrastowy np. czarny.
Ustawiamy więc właściwość BackColor na Black uzyskując takie cudo ...

Obrazek

I zabieramy się za elementy naszego programu ... to dobry moment by się zainteresować taką grupą narzędzi w przyborniku
zwaną Kontenery. Tak dokładnie teraz będziemy umieszczać na naszej formie kontenery, a dokładnie interesuje nas kontener
o nazwie Panel. który umieszczamy na naszej formie i zmieniamy mu właściwość BackColor na np Green o tak:

Obrazek

Teraz dodajemy sobie Label z nazwą naszej aplikacji w jakimś kontrastowym kolorze np białym oraz pictureBoxa , który będzie przyciskiem zamykającym aplikację. Moze to wyglądać np. tak:

Obrazek

Jak widzicie teraz możemy sobie zaimportować dowolny obrazek i użyć go jako przycisku zatem umieszczamy jeszcze jeden
pictureBox na środku naszej formy ... i wrzucamy tam sobie jakiś png jako buton

Obrazek

niech teraz będzie taki statyczny .. bo wszystko można dopracować :) i teraz zajmiemy się kodem , klikamy na naszym pierwszym pictureBoxie i wpisujemy kod zamykający aplikację .
  1.  
  2. private void pictureBox1_Click(object sender, EventArgs e)
  3.        
  4.  {
  5.            
  6. Environment.Exit(0);
  7.        
  8. }
  9.  
a teraz klikamy na drugim pictureBoxie i wpisujemy kod wyświetlający MessageBox ....

private void pictureBox2_Click(object sender, EventArgs e)
{
MessageBox.Show(this, "Nasz nowy Layout gotowy !!", "Wiadomość :", MessageBoxButtons.OK, MessageBoxIcon.Question);
}

Teraz możemy skompilować nasz program i super działa to dość dobrze ale ....

Obrazek

ten MessageBox taki nie ładny stary .... Poradzimy sobie z tym problemem bardzo prosto musimy sobie zainstalować
jeśli jeszcze nie macie pakiety NuGet o nazwie MetroFramework ... jest ich kilka

Obrazek

Teraz zmieniamy nasz wpis w drugim pictureboxie na :
  1.  
  2. private void pictureBox2_Click(object sender, EventArgs e)
  3.  
  4.         {
  5.             MetroMessageBox.Show(this, "Nasz nowy Layout gotowy !!", "Wiadomość :", MessageBoxButtons.OK, MessageBoxIcon.Question);
  6.         }
  7.  

I oczywiście dopisujemy na początku programu :
  1.  
  2. using MetroFramework;
  3.  

I teraz wszystko wygląda tak :)

Obrazek

od razu lepiej prawda ?? No super program ma Odświeżony wygląd , działają ładne przyciski , ale nie można zmienić jego położenia .... no bo niby jak skoro niema belki programu ?? Ale na to tez jest rada i kolejny pakiet NuGet do zainstalowania
mianowicie Bunifu.UI

Obrazek

Na początek wystarczy nam Bunifu.UI.Winforms, ale możecie doinstalować też .Dataviz , czy jak chcecie pisać apkę
anty Covidową .Covid-19.Data :) Gdy już zainstalowaliśmy pakiet Bunifu.UI przeciągamy na nasz formularz kontrolkę
BunifuDragControl ...

Obrazek

Gdy już upadnie i jest na dole jak to widać na w/w obrazku klikamy na kontrolce i ustawiamy właściwość
TargetControl na panel1 o tak :

Obrazek

Kompilujemy program i od tej pory możemy jak na tradycyjnej belce przenosić nasz program po ekranie ....
Gotowe... teraz już wiecie jak można odświeżyć Layout tradycyjnego formularza windows i tym samym uatrakcyjnić
wygląd naszego programu. Dodatkowo warto zapoznać się z pakietem Bunifu.UI zawiera sporo fajnych rzeczy
np. możemy napisać program który zamiast używać osobnych formularzy będzie się opierał na różnych panelach w ramach jednego okna , których zmiany możemy animować :)
Awatar użytkownika
SunRiver
Użytkownik
Posty: 1338
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Festung Oppeln
Kontakt:

Re: C# --- Rasujemy klasyczną aplikacje opartą na formularzach

Post autor: SunRiver »

P.S ... Bunifu.UI jest płatne , ale akurat to co nam potrzebne było wyżej nie wymaga licencji
dodatkowo wystarczy w zasadzie do naszego programu dodać odwołanie do biblioteki z załącznika poniżej
---------
Bunifu_UI_v1.52.dll.7z
Bowiem cały pakiet nam się nie przyda zapewne :)Instalacja dodatkowych kontrolek jest banalna .... tworzymy projekt ,
w przyborniku klikamy na np zakładce > Ogólne

Obrazek

I wybieramy Wybierz elementy , czekamy na załadowanie się Składników .Net Framework i klikamy Przeglądaj ...
Wskazujemy naszą dllkę :

Obrazek

klikamy Otwórz ......

Obrazek

elementy mamy zaznaczone więc klikamy OK ...

Obrazek

I możemy używać dobrodziejstw .. w naszym programie
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego posta.
ODPOWIEDZ

Wróć do „..:: Na szybciora --- z cyklu Sun Poleca C# z pieca...”