Windows Forms je jednou z nejoblíbenějších technologií pro vývoj aplikací na platformě Windows. Poskytuje širokou škálu nástrojů a komponent pro vytváření uživatelského rozhraní. Jednou z důležitých a často používaných funkcí ve Windows Forms je otevření a zobrazení nové formy.
Otevření nového tvaru vám umožňuje vytvářet vícekokonové aplikace, kde každé okno plní určitou funkci. To je zvláště užitečné, když je nutné uživateli poskytnout přístup k různým funkčním částem aplikace, ale zároveň zachovat jednoduchost a použitelnost.
K otevření nového formuláře se ve Windows Forms používá třída Form. Nejprve je nutné vytvořit nový objekt této třídy pomocí operátora new. Poté lze použít metodu Show objekt má tvar, aby se otevřel.
Při vytváření nové formy lze také přenést parametry, aby se inicializovaly její vlastnosti. Můžete například nastavit velikost a polohu formuláře, přidat ovládací prvky nebo nastavit obslužné rutiny událostí. To umožňuje vytvářet interaktivnější a funkčnější aplikace.
Navíc pomocí metody ShowDialog() lze otevřít nový formulář jako Modální okno, které blokuje interakci s jinými prvky aplikace před jejím uzavřením. To může být užitečné, když potřebujete před pokračováním programu získat od uživatele nějaké informace nebo potvrzení.
Windows Form: otevření nové formy
K otevření nového formuláře ve Windows Form lze použít metodu Show . Tato metoda otevírá novou formu a zviditelňuje ji.
Níže je uveden příklad kódu, který ukazuje, jak otevřít nový formulář:
private void OpenFormButton_Click(object sender, EventArgs e)
V tomto příkladu se kliknutím na tlačítko OpenFormButton_Click vytvoří nová instance formuláře Form2 . Metoda Show je poté povolána k otevření a zobrazení nové formy.
Pokud potřebujete přenést data z jednoho formuláře do druhého, můžete k přenosu hodnot použít vlastnosti nebo konstruktory. Můžete například Vytvořit vlastnost ve druhé formě a přiřadit jí hodnotu v první formě před otevřením nového tvaru.
// Вторая форма (Form2)public string MyProperty < get; set; >// Первая форма (Form1)private void OpenFormButton_Click(object sender, EventArgs e)
V tomto příkladu je ve druhé formě Form2 definována vlastnost myproperty . Na první formě Form1 je hodnota vlastnosti nastavena před otevřením nové formy. Tato hodnota pak může být použita ve druhé formě.
Nyní víte, jak otevřít a zobrazit nový formulář ve Windows Form. Použijte tuto funkci k vytváření víceokonových aplikací nebo v případě potřeby zobrazte nový formulář pro zadávání dat.
Přidání nového formuláře do projektu
Chcete-li přidat nový formulář do projektu Windows Form, postupujte podle následujících pokynů:
1. Otevřete Visual Studio a otevřete svůj projekt Windows Form.
2. Klikněte pravým tlačítkem na projekt v Průzkumníku řešení a vyberte položku nabídky Přidat - > nové okno.
3. V okně, které se zobrazí, vyberte typ formuláře, který chcete přidat. Můžete si vybrat okno s uživatelským rozhraním nebo prázdné okno, do kterého můžete přidat ovládací prvky, jak chcete.
4. Po výběru typu formuláře klikněte na tlačítko OK.
5. Nový formulář bude přidán do vašeho projektu a otevře se v režimu úprav.
6. Nyní můžete změnit značení a přidat ovládací prvky do nového formuláře v režimu úprav.
7. Chcete-li otevřít nový formulář z jiného tvaru, můžete použít kód zobrazení:
Form2 form2 = new Form2();form2.Show();
V tomto příkladu vytvoříme novou instanci třídy Form2 a vyvoláme metodu Show() pro zobrazení formuláře.
Nyní máte ve svém projektu nový formulář, který můžete otevřít a ukázat podle svých potřeb.
Vytvoření tlačítka pro otevření nové formy
Níže je uveden příklad vytvoření tlačítka pro otevření nového formuláře v aplikaci Windows Form:
- Otevřete Visual Studio a vytvořte nový projekt Windows Form.
- Přetáhněte do hlavního formuláře ovládací prvek Button.
- Vyberte vytvořené tlačítko a poklepáním na něj otevřete kód.
- V obsluze události Click tlačítka přidejte následující kód:
private void button1_Click(object sender, EventArgs e)/ Создание экземпляра новой формыForm2 form2 = new Form2();// Отображение новой формыform2.Show();>
- private void button1_Click (object sender, EventArgs e) je obslužný program akce Click tlačítka.
- Form2 form2 = new Form2(); - vytvoří se nová instance formuláře Form2.
- form2.Zobrazit (); - nový formulář je zobrazen uživateli.
Nyní, když uživatel klikne na tlačítko, otevře se nový formulář Form2.
Všimněte si, že uvedený příklad předpokládá, že již máte vytvořený a definovaný tvar Form2. Pokud takový tvar neexistuje, vytvořte jej podle pokynů.
Psaní metody-obslužná rutina stisknutí tlačítka
Chcete-li zpracovat událost kliknutím na tlačítko ve Windows Form, musíte napsat metodu-obslužnou rutinu, která provede požadované akce. V C# lze použít následující přístup:
- Určete metodu s požadovaným názvem a typem vrácené hodnoty.
- Přidat atribut [System.Windows.Forms.EventHandler] k metodě.
- Přidat možnosti k metodě, pokud potřebujete získat další data z volajícího kódu.
- V těle metody proveďte potřebné kroky.
Zvažte například vytvoření metody-obslužné rutiny stisknutí tlačítka:
private void Button_Click(object sender, EventArgs e)/ Ваш код для обработки нажатия на кнопку>
Zde jsme vytvořili metodu s názvem Button_Click a možnostmi object sender a EventArgs e . sender představuje objekt, který odeslal událost (v tomto případě tlačítko), A e obsahuje informace o události.
Nyní lze metodu Button_Click použít jako obslužnou rutinu události kliknutí na tlačítko. K tomu je nutné metodu propojit s událostí v kódu formuláře, například:
button1.Click += new EventHandler(Button_Click);
V tomto příkladu připojujeme metodu Button_Click k události Click Button1 .
Metoda-obslužná rutina stisknutí tlačítka vám tedy umožňuje provést požadované kroky, když kliknete na tlačítko v systému Windows Form.
Inicializace nového formuláře a přenos dat
Když vytvoříme nový formulář v aplikaci Windows Form, můžeme data přenést z aktuálního formuláře do nového formuláře. Za tímto účelem musíme inicializovat nový formulář a předat potřebná data pomocí konstruktoru nové formy.
Nejprve musíme vytvořit novou instanci třídy nové formy:
NovaForm novaForm = new NovaForm();
K přenosu dat pak můžeme použít metody nebo vlastnosti nového formuláře:
novaForm.SomeMethod(data); novaForm.SomeProperty = data;
Pokud například chceme přenést řetězec z aktuálního tvaru do nového tvaru, můžeme použít následující kód:
string data = " Ahoj, nový formulář!"; NovaForm novaForm = new NovaForm(); novaForm.SetData(data);
V nové podobě můžeme vytvořit metodu SetData (), která bude přijímat přenesená data:
Poté můžeme otevřít a zobrazit nový formulář pomocí metody Showdialog () nebo ShowDialog():
novaForm.Show (); nebo novaForm.ShowDialog();
Nyní, nový formulář bude otevřen a přenesená data budou zobrazena v ovládacím prvku formuláře.
Inicializace nového formuláře a přenos dat jsou tedy důležitými fázemi při práci se systémem Windows Form.
Zobrazení nového formuláře
Po vytvoření nového formuláře ve Windows Form jej lze otevřít a zobrazit na obrazovce. K tomu se používá následující kód:
NewForm newForm = new NewForm();newForm.Show();
První řádek vytvoří novou instanci formuláře NewForm .
Druhý řádek vyvolá metodu Show (), která zobrazuje formulář na obrazovce.
Tento kód lze použít v metodě zpracování událostí, například stisknutím tlačítka, k zobrazení nového formuláře za určitých podmínek.
Je také možné použít metodu ShowDialog () místo Show (). Rozdíl mezi těmito metodami je v tom, že Showdialog() zobrazuje tvar jako Modální okno, zatímco ShowDialog () zobrazuje tvar jako modální dialogové okno, to znamená, že dokud nebude nová forma uzavřena, interakce s hlavní formou není možná.
Před zobrazením nové formy by však měla být inicializována a nakonfigurována. Můžete například přenést data do konstruktoru nebo použít vlastnosti a metody formuláře k nastavení hodnot ovládacích prvků.
Uzavření nové formy a návrat k předchozí formě
Chcete-li začít, musíte vytvořit instanci nového formuláře, zadat rodičovský formulář a vyvolat metodu ShowDialog() pro otevření nového formuláře. Například:
Form2 form2 = new Form2();form2.ShowDialog();
Dále je ve třídě nového tvaru možné v případě potřeby přidat obslužnou rutinu pro tlačítko uzavření formuláře. V této obslužné rutině je třeba vyvolat metodu Close (), která zavře aktuální formulář a vrátí se k předchozí formě. Například:
private void buttonClose_Click(object sender, EventArgs e)
Po vyvolání metody Close() bude formulář uzavřen a správa se vrátí ke kódu, který způsobovala metoda ShowDialog() . Po uzavření formuláře se tedy vrátíme k kódu, který otevřel formu2:
Form2 form2 = new Form2();form2.ShowDialog();// Здесь будет выполнен код после закрытия формы2
Použití metod ShowDialog() a Close () tedy umožňuje otevřít a zavřít novou formu a vrátit se k předchozí formě.