Proměnná pro celý program – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Proměnná pro celý program – .NET – Fórum – Programujte.comProměnná pro celý program – .NET – Fórum – Programujte.com

 

Mort
~ Anonymní uživatel
6 příspěvků
14. 10. 2011   #1
-
0
-

Zdravím, jsem začátečníkem v C# a potřeboval bych s něčím pomoct.
Řekněme, že mám program, který má Form1 a Form2. Na Form1 mám textbox a tlačítko. Pokud do textboxu zadám něco jiného než tam má být, tak vyskočí MessageBox a řekne, že to tam být nemá, a když tam je to, co tam má být, vyskočí Form2, kde mám label.
Potřebuju udělat proměnnou, která při každém zmáčknutí tlačítka se špatným textem v textboxu zvyší svojí hodnotu o 1 a poté při otevření Form2 vypíše svojí hodnotu do toho labelu.

To zvyšování bych udělal asi přes else.. viz. kód níže, ale kam a jak mám deklarovat tu proměnnou?

if (txtbox1.Text = "lalalala")
{
Form2 f2 = new Form2();
f2.Show();
}
else
{
MessageBox.Show("chyba");
intchyba++;
}

Nahlásit jako SPAM
IP: 85.70.40.–
Chrasty
~ Redaktor
+4
Posthunter
14. 10. 2011   #2
-
0
-

V tomhle případě nepotřebuješ žádnou globální proměnnou (které jako takové v C# kvůli zapouzdření nejsou), stačí jen při vytvoření Form2 předat hodnotu proměnné intchyba konstruktoru:

//Konstruktor třídy Form2
public Form2(int cislo)
{
	Label1.Text = cislo;
}

//Úryvek tvého kódu (upravený)
if (txtbox1.Text = "lalalala")
{
	Form2 f2 = new Form2(intchyba);
	f2.Show();
}
...
Nahlásit jako SPAM
IP: 193.179.196.–
Mort
~ Anonymní uživatel
6 příspěvků
14. 10. 2011   #3
-
0
-

Dík moc.

Nahlásit jako SPAM
IP: 85.70.40.–
Bambulka
~ Anonymní uživatel
3 příspěvky
15. 10. 2011   #4
-
0
-

V C# existuju globalne premenne - ale tie by som nepouzival ako zaciatocnik (sietova prevadzka aplikacii apod.). Volaju sa staticke premenne.

Vytovri sa "public static int Meno;" a potom sa k nej pristupuje cez Class.Meno (kde sa implementovala) bez ohladu na vytvorenu instanciu danej triedy (teda je to globalne - napr. v App triede). Navrhovane riesenie je ale samozrejme lepsie. Odporucam pouzivat jasne rozhranie - lepsie sa to refaktoruje v buducnosti a pracuje sa s tym v teame!

Nahlásit jako SPAM
IP: 88.212.36.–
17. 10. 2011   #5
-
0
-

#4 Bambulka
Ne, v C# žádné globální proměnné nejsou. Statická proměnná není globální.

Nahlásit jako SPAM
IP: 91.217.52.–
Dušan Janošík | web: djanosik.cz, @djanosik
liborb
~ Redaktor
+18
Guru
18. 10. 2011   #6
-
0
-

#5 djanosik
Když je kráva fialová a má na boku napsáno Milka, je to ještě kráva? Veřejná statická proměnná ve statické třídě je jistě globálně viditelná, takže se tak sice nejmenuje, ale globální je :)

Nahlásit jako SPAM
IP: 78.80.52.–
18. 10. 2011   #7
-
0
-

#6 liborb
To není tak docela pravda, ještě ta statická třída musí být globálně viditelná. Je dobré to rozlišovat, protože IL globální proměnné má, ale C# nikoliv.

Nahlásit jako SPAM
IP: 91.217.52.–
Dušan Janošík | web: djanosik.cz, @djanosik
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 64 hostů

Podobná vlákna

Program se nedokončí celý — založil Marek

Konstanty pro celý Solution — založil Johny

Podmínka pro celý soubor — založil Mates

Promenna pro stranku — založil cecil

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý