Diskuze: Metoda jiného formu, zavření formu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Tak druhý dotaz již nepotřebuji, Stačilo změnit z
private void closed(object sender, EventArgs e)
na
private void closed(object sender, FormClosedEventArgs e)
instance.Event +=
a v tuto
chvíli stačí zmáčknout 2x tabulátor a event se doplní a přidá se
metoda.Metoda ve Form1:
public void about_exists(bool b)
{
about_form_exists = b;
}
proměnná about bool exists určuje zda se můe vytvořit nové okno, při
vytvoření se změní na true a okno se nevytvoří,
pokud okno existuje tak je potřeba po zavření změnit
proměnnou(about_form_exists) na false a k tomu jsem napsal do About_form.cs
metodu
private void About_form_FormClosed(object sender, FormClosedEventArgs e)
{
Form1.about_exists(false);
}
ale v tom mi to vyvolá chybu
proměnná about_form_exists byla deklarována ve Form1 se zadanou hodnotou
false a true je pouze při vytvoření formu About_form
To je nesmysl.
Zda je okno otevřené zjistíš takto, to už jsem ti psal: http://www.itnetwork.cz/…0536ed3bc2ac#…
Form1. -> by byla statika
Musel bys předat instanci formu, aby jsi mohl přistupovat k jeho metodám nebo
si ji udělat statickou. Ale to vše už jsem ti psal.
Toto pro tyto účely nepoužívej.
Předání instance:
Form1 parentForm = null;
public About_form(Form1 parentForm)
{
InitializeComponent();
this.parentForm = parentForm;
}
public void metoda()
{
parentForm.cokoliv (přístupnost > private)
}
Statika
public static bool about_exists;
Případně, kdyby ti to nesedělo, tak napiš, co konkrétně potřebuješ udělat.
Nakonec jsem to vyřešil tou statickou metodou, není to nejlepší, ale doufám že nejrychlejší, mám tam i vlákno které je založeno na nízkém vytížení procesoru.
Zobrazeno 6 zpráv z 6.