Okna

V dnešní lekci se zaměříme na okna, jakožto tu hlavní novou věc, co nám přináší Windows Forms.

Vlastnosti okna

Můžeme upravovat spoustu vlastností našeho okna. Zmínil bych například:

Message Box

Určitě si pamatujete na vyskakovací okna. Tyto zde můžeme také vyrábět. Následujícím kódem vytvoříme vyskakovací okno se zprávou po stisknutí tlačítka:

private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show("Zprava");
}

Můžeme také uvést nadpis.

private void button1_Click(object sender, EventArgs e)
{
    MessageBox.Show("Text", "Nadpis");
}

MessageBox.Show umí zobrazovat také například tlačítka. Pro více informací o nich můžete navštívit oficiální dokumentaci: https://learn.microsoft.com/cs-cz/dotnet/api/system.windows.forms.messagebox.show?view=netframework-4.8.1

Více oken

V našem programu můžeme mít libovolný počet oken a můžeme je zobrazovat a skrývat dle potřeby.

Nové okno můžeme přidat tak, že klikneme pravým na náš projekt, dáme "Přidat" a "Nová položka".

Pokud tento formulář chceme zobrazit, můžeme to udělat například pomocí následujících kroků (v tomto příkladu po kliknutí na tlačítko):

private void button1_Click(object sender, EventArgs e)
{
    var frm = new Form2(); //Vytvoří se nová instance formuláře Form2
    frm.Location = this.Location; //Pozice frm (nového formuláře) je nastavena na stejnou pozici jako aktuální formulář (this)
    frm.StartPosition = FormStartPosition.Manual; //Pozice formuláře bude nastavena manuálně, což umožňuje použít hodnotu z předchozího kroku.
    frm.FormClosing += delegate { this.Show(); }; //Zobrazení předchozího formuláře po zavření Form2 (je možné smazat)
    frm.Show(); //Zobrazení Form2
    this.Hide(); //Skrytí předchozího Formu
}

Zadání

Vytvořte přihlašovací stránku s uživatelským jménem a heslem. Pokud je heslo a jméno správné, ukáže se nové okno s libovolným obsahem (staré okno zmizí). Pokud je heslo nebo jméno špatně, zobrazí se vyskakovací okno (MessageBox) s textem "Chybné heslo".