Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 10 kwi 2025, o 19:19


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 20 ] 
    Autor Wiadomość
    PostNapisane: 2 sie 2013, o 21:50 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Jako że dawno nic nie pisałem ot tak postanowiłem pokazać wam jak stworzyć spalsh-a
    do swojego programu w Visual C# ...

    Zaczynamy jak zawsze tworząc nowy projekt Windows Form Applikation

    Obrazek

    Klikamy na OK i czekamy aż pojawi nam się Dizajner FORM1 , który nas w sumie nie interesuje tym razem bo nie o nim mówimy:)

    Zatem szybko unikając go jak święconego ognia dodajem NEW Form ...

    Obrazek

    i nazywamy go sobie splasher :P

    Obrazek


    oraz klikamy na ADD

    i teraz troszkę się zabawimy :)

    Przede wszystkim przygotowujemy sobie obrazek jakiś z przeźroczystym tłem , który umieszczamy jako background image naszej formy spalsher.cs


    Obrazek

    co czynimy w Oknie properities naszej Formy --
    Opcją Background Image , a następnie powiększamy nieco okienko i dopasowujemy obrazek opcją
    Backkground Image Layout - nap wybierając opcję streth. Co widać po prawej naszego obrazka:)

    W opcjach Properities wyłączamy też opcje dla naszej Formy:

    ControlBox = False
    FormBorderStyle = None
    i najważniejsza OPCJA

    TransparencyKey ustawiamy na Control w zakładce kolorów z palety SYSTEM


    Po czym z naszego Toolboxa dodajemy ProgresBAR i Timer do naszej Formy
    co wygląda tak:

    Obrazek

    No poustawialiśmy to teraz cza zaatakować properities Timera

    Obrazek

    czyli musimy go włączyć :)

    Enabled = True
    oraz
    Interval = 32

    następnie klikamy 2 razy na Timerek i gdy pokarze się nam okno kodu wpisujemy w sekcji utworzonej Timera:

    czyli w funkcji timer1_Tick

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    o tak :
    Obrazek

    UPDATE

    Jeśli nie wiadomo dlaczego się wam sam splash nie zamyka zmieniamy nieco funkcyjkę timera na:

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    od tej pory zawsze się samo zamknie .... choćby nie wiem co :P

    Koniec UPDATE

    nio obsługa progresa załatwiona ..

    wracamy więc do naszej pierwszej formy :) i tam klikamy na niej 2 razy żeby dostać się do kodu
    na początku dodajemy

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    w public Form1() wpisujemy :

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    oraz tworzymy nową funkcję :

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    o tak :)

    Obrazek


    zapisujemy i możemy skompilować prawda że fajny ??


    Załączniki:

    Aby zobaczyć załączniki musisz się zalogować. Tylko zalogowani użytkownicy mogą oglądać i pobierać załączniki.

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 sie 2013, o 22:48 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 19 sty 2013
    Posty: 74
    Lokalizacja: Warszawa
    Pomógł: 8

    Dosyć fajna sprawa :)
    Widzę, że ten C# jest dosyć ciekawy, chyba coś w nim pomajsterkuję :twisted:

    _________________
    sig off ;( <- Why? :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 sie 2013, o 09:03 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 25 maja 2012
    Posty: 296
    Lokalizacja: Chebzie Dolne
    Zbananowany użytkownik

    Pomógł: 6

    NO jak powiedział tak zrobił:)

    _________________
    Inspekcja TV kanalizacji
    Programowanie



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 sie 2013, o 15:18 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 sie 2012
    Posty: 245
    Lokalizacja: Kielce
    Pomógł: 6

    To działa tylko na maszynie wirtualnej?

    _________________
    1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 sie 2013, o 15:26 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    a dlaczego ??
    normalnie na windowsach działa

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 sie 2013, o 17:22 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 19 sty 2013
    Posty: 74
    Lokalizacja: Warszawa
    Pomógł: 8

    Sun, jest pytanko do Ciebie, a mianowicie, jak zrobić by nasz splash zamyka się automatycznie po zakończeniu ładowania? Pytam, gdyż w chwili obecnej zamyka się tylko po najechaniu kursorem na obrazek lub pasek ładowania ;)

    _________________
    sig off ;( <- Why? :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 sie 2013, o 17:40 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    No właśnie nie wiem co macie z tym .... u mnie sie normalnie wyłącza , może to kwestia frameworków
    w każdym razie możesz dopisać

    close.this();

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 sie 2013, o 17:44 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 19 sty 2013
    Posty: 74
    Lokalizacja: Warszawa
    Pomógł: 8

    Jak odpalam release w VS to normalnie się zamyka, ale przy odpalaniu exe to trzeb najechać na obrazek ;)

    _________________
    sig off ;( <- Why? :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 sie 2013, o 22:15 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 paź 2011
    Posty: 780
    Pomógł: 20

    Wątki to to co tygrysy lubią najbardziej :)

    Świetny tutek :)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 sie 2013, o 23:59 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 sie 2012
    Posty: 245
    Lokalizacja: Kielce
    Pomógł: 6

    SunRiver napisał(a):
    a dlaczego ??
    normalnie na windowsach działa

    Chodziło mi o to że sprawdzałem na XP i wyskakiwał mi komunikat że muszę mieć .NET Framework (maszyna wirtualna - nawiasem bezczelna podróbka javy) - czyli widzisz, To działa tylko w systemach w których jest zainstalowana implementacja tej platformy.

    _________________
    1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sie 2013, o 00:37 
    Offline
    Moderator zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 18 lip 2012
    Posty: 3226
    Lokalizacja: Kraków - obok FAB5 ATMEL'a
    Pomógł: 91

    No tak, trzeba doinstalować .NET Framework.

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sie 2013, o 08:51 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    cóż takie są warunki pisania pod .NET
    zwyczajowo jest windzie bo dużo oprogramowania z tego korzysta

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sie 2013, o 15:42 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Dla wszystkich co im sie splash sam nie zamyka ... co jest dziwne mały update w 1 poście .

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sie 2013, o 16:10 
    Offline
    Moderator zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 18 lip 2012
    Posty: 3226
    Lokalizacja: Kraków - obok FAB5 ATMEL'a
    Pomógł: 91

    No widzisz, jak chcesz to potrafisz. :lol:

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sie 2013, o 16:21 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 19 sty 2013
    Posty: 74
    Lokalizacja: Warszawa
    Pomógł: 8

    Cytuj:
    close.this();

    Kurna, a teraz w update widzę this.close(); A ja się męczyłem gdzie dać to close.this(); :lol:

    _________________
    sig off ;( <- Why? :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 sie 2013, o 16:30 
    Offline
    Moderator zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 18 lip 2012
    Posty: 3226
    Lokalizacja: Kraków - obok FAB5 ATMEL'a
    Pomógł: 91

    Nie wiesz jak to jest? Zawsze coś namiesza. ;-)

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 sie 2013, o 10:54 
    Offline
    Użytkownik

    Dołączył(a): 05 lut 2013
    Posty: 302
    Pomógł: 19

    No i teraz jest cacy, splasher zamyka sie bardzo ladnie. A przy okazji testowania zaobserwowalem ciekawa rzecz. Okno tam gdzie ma przezroczystosc zachowuje sie jakby go tam nie bylo. Tzn jak sie wyswietla logo i klikne na pixel ktory ma kolor inny niz przezroczystosc to nic sie nie zmienia, ale jak klikne w miejsce przezroczyste to windows traktuje to jakbym kliknal na aplikacje w "tle". Fajny ficzer, ale czy daloby sie tym sterowac, tzn zeby zachowujac przezroczystosc, ustalic okno jako box?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 5 sie 2013, o 11:01 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Oczywiście że tak
    możesz normalnie ustawiać batony i inne

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 wrz 2013, o 00:10 
    Offline
    Użytkownik

    Dołączył(a): 27 wrz 2013
    Posty: 30
    Pomógł: 1

    SunRiver

    Mam taką skomplikowaną hipotezę na temat problemu z nie znikaniem formy (w wersji bez update).

    Wydaje mi się, że ma to jakiś związek z tym, że Twój timer w formie Splasher (czy jak jej tam) tworzy sobie nowy wątek.

    Application.Run(Form) samo z siebie się nie zakończy w normalnych warunkach, jeżeli Form robi jakieś dodatkowe wątki
    (poza debuggerem, który słabo obsługuje wielowątkowość - stąd różnica w działaniu w debuggerze i poza debuggerem).

    Ten wątek utworzony przez timer będzie istniał nawet po zatrzymaniu timera i będzie uniemożliwiał zakończenie Application.Run(), aż do czasu:
    - wymuszenia zakończenia wątku tworzonego przez timer, o ile w ogóle klasa timer udostępnia taką metodę jako publiczną (nie wiem, nie wnikałem aż tak w timer)
    - usunięcia timera z pamięci metodą .Dispose() (wtedy jego wątek zostanie zabity)
    - wymuszenia przetworzenia kolejki eventów aplikacji - np. metodą Application.DoEvents (wtedy przy okazji działa też garbage collector który może zabija takie wątki zombie)
    - zamknięcia formy do której należy Timer (czyli to, co dodałeś w patchu)

    Dobrze kombinuję?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 wrz 2013, o 17:07 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    dobrze kombinujesz , niemniej u mnie znika za każdym razem ... ale co za różnica to tylko przykład :)

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 20 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO