W jaki sposób mogę zresetować otwarte już okno w taki sposób aby wszystko załadowało się od nowa z ustawieniami początkowymi. Wywołanie funkcji musi być w tym oknie czyli zamknięcie go i włączenie ponownie raczej odpada.
jeżeli Ty rządzisz swoim kodem, to Twoja rola, w innym wypadku szukaj wiatru w polu, czyli:
szukaj nazw okien itp :)
ta odpowiedź nie do tego linku - przepraszam autora
A może być Application.Restart();
?
Application.Restart();
Działa ale restartuje całą aplikacje a nie jedno okno :) A ja w programie mam kilka okien. Więc może jakieś inne rozwiązanie.
Zniszcz obiekt okna i utworz go od nowa ?
Ale jak to zrobić nie zamykając okna :)
mati1988k napisał(a)
W jaki sposób mogę zresetować otwarte już okno w taki sposób aby wszystko załadowało się od nowa z ustawieniami początkowymi.
Wszystko tzn. co? Rozmiar i położenie okna na ekranie? Czy może wartości w TextBoxach, ComoBoxach i innych kontrolkach?
Chodzi mi właśnie o wartości w textboxach głównie.
Rozwiązanie "rekurencyjne" - delikatnie mówiąc niezbyt dobre, nie stosuj tego ;)
private void KillMe()
{
this.Hide();
Form1 f = new Form1();
f.Show();
}
Sprawdź, może wystarczy wywołać metodę InitialiseComponent().
Możesz też po prostu czyścić wszystkie kontrolki po kolei (foreach (Control in controls) czyść).
Ja bym po prostu przypisał nowy, pusty obiekt do BindingSource. Przecież formatka niepowiązana z żadną klasą logiki jest bez sensu.
mati1988k napisał(a)
W jaki sposób mogę zresetować otwarte już okno w taki sposób aby wszystko załadowało się od nowa z ustawieniami początkowymi.
A może tak po prostu "ustawienia początkowe" przypisz do zmiennej i ją przywołaj w odpowiednim momencie...
No i brnąc dalej taką zmienną może być przecież forma. Problem moim zdaniem jest bardziej logiczny niż programistyczny.
Zakładam, że jeśli byłeś w stanie utworzyć formę MDI to zmienne nie są ci obce...
Niestety nie jestem w stanie podać gotowego rozwiązania, wielka ze mnie lama :/