To bardzo trywialny problem, ale nie mogę znaleźć sposobu na jego rozwiązanie. To mnie denerwuje, ponieważ czuję, że powinienem znać odpowiedź na to pytanie, ale albo szukam złych terminów, albo szukam niewłaściwych metod i właściwości.Jak kontrolować położenie okna dialogowego podczas korzystania z ShowDialog, aby go wyświetlić?
Mam okno dialogowe konfiguracji, które jest wywoływane z dwóch miejsc.
Pierwszy z nich pochodzi od przycisku na formularzu, który działa poprawnie - jak można się spodziewać.
Druga jest z menu kontekstowego na powiadomień w zasobniku systemowym, ale tutaj pojawia się w lewym górnym rogu ekranu. Idealnie chciałbym, aby wyglądał na wyśrodkowany na głównym ekranie lub w pobliżu zasobnika systemowego.
Próbowałem ustawienie
Location
, ale to wydaje się być pominięte podczasdialog.ShowDialog()
nazywa.Próbowałem użyć przeciążenia
dialog.ShowDialog(IWin32Window)
, ale nie wydawało mi się, żebym podałnull
jako uchwyt okna.Próbowałem zamiast tego używać
dialog.Show()
, ale (i to jest miejsce, w którym mógłbym pójść źle) ustawienie lokalizacji wydaje się nie dawać spójnych wyników.Próbowałem nawet ustawić właściwość
dialog.Parent
- która oczywiście podniosła wyjątek.
Po prostu wiem, że zdaję sobie sprawę, że odpowiedź jest oczywista, kiedy (mam nadzieję) widzę kilka odpowiedzi, ale w tej chwili całkowicie utknąłem.
Dzięki za odpowiedzi - jak podejrzewałem, to było oczywiste, ale jak zwykle utknąłem w poszukiwaniu niewłaściwej trasy. Jeszcze bardziej irytujące jest to, że użyłem tej własności również od projektanta.
Miał ten sam problem. Dla mnie zadziałało ustawienie lokalizacji podczas zdarzenia obciążenia – TomB