Potrzebuję zmienić lokalizację skrzynki wiadomości. Nie chcę, żeby był na środku strony.Jak zmienić lokalizację MessageBox?
MessageBox.Show("Hello");
Potrzebuję zmienić lokalizację skrzynki wiadomości. Nie chcę, żeby był na środku strony.Jak zmienić lokalizację MessageBox?
MessageBox.Show("Hello");
Będziesz musiał utworzyć nowy formularz, który dziedziczy z formularza MessageBox. Jest to jedyny sposób uzyskania dostępu do właściwości pozycji.
Zazwyczaj nie można zmienić lokalizacji startowej standardowego okna komunikatu.
Rozwiązania zapytanie:
Istnieje sposób na zmianę lokalizacji, ale jest zbyt skomplikowany dla tak małego zadania.
Jeśli naprawdę potrzebujesz zmienić lokalizację, możesz ją wyświetlić, a następnie użyć GetForegroundWindow
, aby uzyskać uchwyt okna, a następnie MoveWindow
w wybranej lokalizacji.
Ale, jak już zmontowałem, jest to zbyt skomplikowane.
Wystarczy utworzyć własny formularz z etykietą na nim przycisk "OK". Ustaw przycisk jako domyślny przycisk okna, a następnie w Form1 wykonaj MyWndName.ShowDialog();
tnank bardzo ci się podobało, a ty pracujesz – guy
nie możesz być pewien, że 'GetForegroundWindow' da ci uchwyt utworzonego okna wiadomości. Możliwe, że w tej chwili nowa aplikacja przejdzie na pierwszy plan. –
To, co możesz zrobić, to utworzyć nowe okno, ustawić właściwość AllowsTransparency na true i ustawić Background jako Transparent. W tym oknie możesz umieścić TextBlock lub etykietę, a także dodać przyciski Tak/Nie. Ustaw położenie tego okna za pomocą Canvs.SetTop (Window, TopPosition) i Canvas.SetLeft (Window, LeftPosition). następnie wywołaj okno za pomocą metody Show() lub ShowDialog().
Zmieniłem twój tytuł z 'massagebox' (brzmi pięknie) na' messagebox'. – jgauffin
@jgauffin, tag 'winforms' trochę niepoprawny, ponieważ' MessageBox' jest dostępny również w WPF. –
możliwy duplikat [WinForm - jak mogę uczynić MessageBox wyśrodkowany na MainForm?] (Http://stackoverflow.com/questions/2576156/winforms-how-can-i-make-messagebox-appear-centered-on-mainform) –