Zamykanie form?

0

Robię program pracujący na wielu formach i nie wiem jak stworzyć button który będzie mi zamykać ta aktywna forme na której pracuje użytkownik, górne przyciski mam wyłączone.

gdzieś znalazłem taka metodę ale nie wiem czy jest to poprawna do zamykania tego
Dispose();

Proszę o pomoc.

0

this.Close() Ci się nie podoba?

0

Chce wykonać takie cos :

Zamykam przyciskiem okno a otwieram drugie...
mialem wczesniej this.Hide(); ale ciagle to w pamieci siedzi przeciez :p

string dd = LogBack();
 MessageBox.Show("Witaj! "+ logowanieChar.Text.ToString()+"\nTo jest "+dd+" logowanie!");
                zwracaString = IdBack();
                Konto frm1 = new Konto();
                frm1.Show();
                this.Close();
0

nowe formatki pokazuj przez ShowDialog, zeby je zamknac robisz DialogResult=DialogResult.OK - lub co Ci tam zamiast OK pasuje

np

Forma1 f = new Forma1();

if (f.ShowDialog()==DialogResult.OK)
{
//jakis kod
}

na Forma1 stawiasz guzika ktory w kodzie ma

DialogResult=DialogResult.OK;

mozesz tez zrobic np tak

Forma1 f = new Forma1();
DialogResult wynik = f.ShowDialog();
if (wynik==DialogResult.OK)
{
//rob cos
}

if (wynik==DialogResult.Cancel)
{
//cos innego
}

Zwyklego Show uzywaj jak masz kontener MDI, bo inaczej sie w nich nie polapiesz

0

ale to i tak nadal mam forma1 w tle działającą.
Bo wygląda to tak, podaje login hasło w form1 i po poprawnym podaniu otwiera mi from2 ,a form1 zamyka.

0

no to trzeba bylo tak od razu
rozumiem ze logowanie ma byc tylko na starcie programu

jak masz program.cs
to przed Application.Run( tu twoj form )
wywal okienko do logowania, to czy logika bedzie w okinku czy nie, to juz twoja sprawa
i jesli logowanie poszlo, to uruchamiasz aplikacje
czyli:

var lForm = new LoginForm();
// zakladam ze LoginForm sprawdzi czy podany login/haslo jest ok i jesli tak zwroci OK, jesli nie zwroci cos innego, jak przyjmiesz inna logike, to sobie poprawnie zmodyfikuj kod
if (lForm.ShowDialog() == DialogResults.OK)
{
Application.Run(new MainApplicationForm());
}
else
MessageBox.Show("Dostep zabroniony");

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