Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Aplikacja Visual C# - TopMost i ukrywanie kropkowanej obramówki TrackBar

splawik00 08 Mar 2017 18:03 939 8
  • #1 08 Mar 2017 18:03
    splawik00
    Poziom 23  

    Witam.
    Potrzebuję pomocy w ukończeniu programu, który służy do ściemniania monitora komputera. Zadanie proste, ale program jednak sprawił mi trudność.
    Aplikacja składa się z dwóch form, jedna do kontrolowania poziomu jasności, druga to jedynie czarny prostokąt który jest TopMost i forma jest zmaksymalizowana. Dodatkowo jest ona ustawiona tak, żeby nie zakrywała innych aplikacji, czyli klikając na nią nie przejmuje ona kliknięcia, tylko aplikacje pod nią. Ta właśnie czarna forma jest ustawiana od 0 do 100% przejrzystości i służy do ściemniania (a raczej zakrywania) całego ekranu. I tutaj jest pierwszy problem:
    Po uruchomieniu aplikacji forma 2 zakrywa cały ekran, a forma 1 (do kontrolowania programu) jest nad nią (też TopMost) - ok.
    Kiedy jednak np. kliknę PPM na pulpit to pasek zadań oraz menu kontekstowe wyskakują niejako ponad moją formę 2, gdyż ich jasność jest normalna.
    Jak ustawić formę 2, żeby rzeczywiście zawsze była TopMost i nigdy nie pozwalała, żeby coś pod nią przeskakiwało nad nią?
    Drugi problem (estetyczny) jest taki, żeby w formie 1 z TrackBarem po jego przesunięciu pojawia się obramówka wokół TrackBara z przerywanej linii.
    Rzecz trywialna, ale jednak chciałbym pozbyć się tej obramówki. Znalazłem ten opis:
    http://stackoverflow.com/questions/1484270/hi...outline-around-trackbar-control-when-selected
    jednak nie za bardzo wiem jak użyć tego kodu w swojej aplikacji, żeby pozbyć się tego obrysu wokół TrackBara.
    Aplikację umieszczam w załączniku.
    Proszę o pomoc, gdyż sam sobie raczej nie poradzę. Z góry dziękuję.

    0 8
  • #4 10 Kwi 2017 12:44
    1487300
    Użytkownik usunął konto  
  • #5 10 Kwi 2017 19:25
    splawik00
    Poziom 23  

    Dla mnie ta metoda jest nie do przyjęcia. Czy kolega widział w praktyce działanie tego programu i porównał go z moim?
    Różnica jest kolosalna. Przy tym programie z podanego linku obraz wygląda, mówiąc delikatnie, okropnie. Oglądać się nie da.
    Proponuję porównać.
    Poza tym ja nie szukam innej metody regulowania jasności. Ten temat dotyczy czegoś innego.

    0
  • #6 11 Kwi 2017 16:44
    1487300
    Użytkownik usunął konto  
  • #8 12 Kwi 2017 22:08
    1487300
    Użytkownik usunął konto  
  • #9 13 Kwi 2017 03:11
    splawik00
    Poziom 23  

    Ale to akurat doskonale rozumiem.
    Pytanie moje jest takie; Czy kod, który kolega podał robi to samo co program który jest możliwy do pobrania pod linkiem na tej właśnie stronie?
    Chodiz o ten "MonitorBrightness".
    Jeśli tak to to jest porażka. Proszę wybaczyć, ale taka jest moja opinia.
    Dla porównania screen mojego programu. Obraz jest równomiernie przyciemniony i nadal wyraźny oraz czytelny.
    Po ściemnieniu programem MonitorBrightness obraz jest tak źle przetworzony, że tam gdzie były ciemne pola to już w ogóle nic nie widać, a tam gdzie jasne to jest tak sobie. To nie tędy droga moim zdaniem.
    Chyba, że jednak czegoś nie rozumiem, to proszę o wytłumaczenie w miarę możliwości.

    P.S. Screena z MonitorBrightness nie mogę przesłać, bo obraz pomimo, że ściemniony to na screenie jest normalna jasność, nie wiedzieć czemu ;)

    Aplikacja Visual C# - TopMost i ukrywanie kropkowanej obramówki TrackBar

    0