WinForms, Mono i Ubuntu Linux

0

Jakiś czas temu zrobiłem na własne potrzeby aplikację w C#, która działa w Windows. Aplikacja tworzy znaczniki na ekranie, w rzeczywistości taki znacznik to jest mały formularz bez ramki, o wielkości ok. 20x20pikseli.

Teraz chciałbym używać aplikacji na Linux najmniejszym nakładem pracy (właściwie to chodzi o otrzymanie jednej aplikacji działającej na obu systemach). Bez żadnych zmian ta aplikacja działa poprawnie, za wyjątkiem jednego elementu: Formularz nie daje się zrobić o wielkości poniżej ok. 100x25. Próbowałem minimalny i maksymalny rozmiar, jak tutaj: https://stackoverflow.com/questions/8153146/windowsforms-and-mono-limitations-of-the-minimum-window-size , ale to nie daje żadnego efektu.

Pomyślałem też, że spróbuję zrobić formularz z maską przezroczystości, gdzie sam formularz może być nawet 200x200, ale nieprzezroczysty będzie kwadrat 20x20 pikseli. Przetestowałem tego gotowca:
https://www.codeproject.com/Tips/1224958/Winforms-Transparent-Background-Image-with-Gradien
W innym komputerze z Windows kompiluje się i działa prawidłowo (dostaję formularz o nietypowym kształcie), ale na Linux (po usunięciu "nietypowego" skojarzenia tła z bitmapą i zastosowaniu standardowego BackgroundImage) nie działa, jakby ignorował ustawienie koloru przezroczystego.

Po prostu robię formularz typu System.Windows.Forms.Form, ustawiam FormBorderStyle=None.

Czy da się w jakiś sposób zrobić formularz WinForms (Windows.Forms), który na Linux będzie mógł mieć wielkość 20x20 pikseli, a nawet mniej?

1

Jeśli masz "zwykłego" (.NET Framework) Winformsa i uruchamiasz go na linuksie przez Wine to poczytaj o Windows Forms Core.
Powinno pomóc rozwiązać Twój problem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1