Mam narzędzie do przechwytywania ekranu, na którym mogę opasać obszar na pulpicie. Zrobiłem to dość łatwo, mam formę, która ma taki sam rozmiar jak ekran, na którym narysowałem zrzut ekranu pulpitu przekształconego w skalę szarości. Kiedy użytkownik przytrzyma lewy przycisk myszy, może wybrać obszar na formularzu. Prostokąt, który rysuje użytkownik, jest wypełniony przez TransparentColor. Gdy użytkownicy podniesią jego mysz, przezroczysty prostokąt pozostanie na swoim miejscu, a rzeczywisty pulpit będzie widoczny. Tutaj przychodzi mój problem: Na moim dev PC mogę faktycznie przechodzić przez ten przezroczysty prostokąt i nawigować itd., Podczas gdy na moim drugim komputerze formularz reaguje na kliknięcia myszką na rzeczywistym przezroczystym prostokącie.Przejście do pulpitu w przejrzystym formularzu
Używam .NET 4.0 w języku C#, wszelkie pomysły, w jaki sposób mogę sprawić, aby rzeczywiście kliknął na pulpicie we wszystkich przypadkach?
Dziękuję i bardzo doceniane :)
Zamiast korzystać z licznika czasu, dlaczego nie skorzystać z zdarzeń OnMouseEnter/OnMouseDown dla każdej kontrolki w formularzu? – Jason
Proszę dodać brakujące wartości stałych. –
Oto kilka przydatnych linków: http://stackoverflow.com/questions/1524035/topmost-form-clicking-through-possible, http://pinvoke.net/default.aspx/Constants.GWL%20-%20GetWindowLong, http://pinvoke.net/default.aspx/Constants.Window%20styles – Xantix