Button handler ( CSC ) – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Button handler ( CSC ) – .NET – Fórum – Programujte.comButton handler ( CSC ) – .NET – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Algon0
Newbie
6. 8. 2009   #1
-
0
-

Dobrý den,
mám takový docela jednoduchý kód, ale nemůžu si v něm poradit s tím, jak udělat handler pro kliknutí na tlačítko, pořád mi to píše chybu, nechápu proč:



using System;
using System.Windows.Forms;
using System.Drawing;

class app {
static void Main() {

Form f = new Form();
Font font = new Font( "Verdana" , 12 );
Color fontcolor = Color.Red;
f.ForeColor = fontcolor;
f.Font = font;

f.Width = 700;
f.Height = 1000;

Label label = new Label();
label.Width = 100;
label.Height = 100;

Button button1 = new Button();
button1.Text = "Chci to videt znova!";
button1.Width = 100;
button1.Height = 100;
button1.Location = new Point( 35, 87 );

f.Controls.Add(button1);
f.Controls.Add(label);

Application.Run(f);

private void button1_Click(object sender, EventArgs e)
{
this.Text = "Hello";
}
}


Když se to pokusím zkompilovat, napíše mi to "} expected" ( na řádku kde je to "Application.Run" ), když tam však to } dám, napíše mi to "app does not have a definiton for 'Text' nebo "name 'f' does not exist in the current context" - můžete to zkusit zkompilovat, ale v CSC, ne ve Visual Studiu.

Předem děkuji za odpověd'

Nahlásit jako SPAM
IP: 82.100.5.–
Reklama
Reklama
dannyk0
Věrný člen
6. 8. 2009   #2
-
0
-

Zkus dat } za to Application.Run(f);

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
Algon0
Newbie
6. 8. 2009   #3
-
0
-

Dannyk: To jsem zkusil, pak mi to napíše "App does not contain definition for Text or f" .

Nahlásit jako SPAM
IP: 82.100.5.–
Chrasty
~ Redaktor
+4
Posthunter
6. 8. 2009   #4
-
0
-

To se ani nedivím, že ti to píše tuhle chybu, když v metodě button1_Click odkazuješ na vlastnost Text, která v té tvojí třídě app očividně definovaná není.

Nahlásit jako SPAM
IP: 193.179.196.–
dannyk0
Věrný člen
6. 8. 2009   #5
-
0
-
Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
6. 8. 2009   #6
-
0
-

Ehm, v C# žádné globální proměnné nejsou :) I když je fakt, že říkat tomu pole není pěkný -> čeština je v tomhle ohledu na dvě věci. Jo a dávat odkaz do k tomu neurčeného tagu, to pochází odkud? Mno, už radši mlčím, ať to nevypadá, že jenom kritizuju, protože k tématu už není moc co napsat.

Nahlásit jako SPAM
IP: 84.21.124.–
Dušan Janošík | web: djanosik.cz, @djanosik
dannyk0
Věrný člen
7. 8. 2009   #7
-
0
-

No to sice uznavam, ze to nejsou globalni promenne, ale jaksi me nenapadlo, jak to jinak vystihnout. Treba rekneme, ze to je Tridne Globalni Promenna :D

Davat tagy do code mam z warfora jakozto zvyk za tech nekolik let, co tam chodim a pusobim i jako moderator.

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
Algon0
Newbie
7. 8. 2009   #8
-
0
-

Chrasty: Aha, ale Text není moje třída, je to třída .NET Frameworku, takže to neznamená že když používám Windows.Forms, tak už je tam i ten Text?

Nahlásit jako SPAM
IP: 82.100.5.–
Algon0
Newbie
7. 8. 2009   #9
-
0
-

Jo a mám ještě jednu otázku: Jak to, že ve Visual Studiu jde udělat program bez Void Main, ale když to tam nenapíšu já, vyhodí mi to chybu, proč?

Nahlásit jako SPAM
IP: 82.100.5.–
7. 8. 2009   #10
-
0
-

To dannyk : Jj, já vím, že to pochází z podobných stránek, má to tam své opodstatnění. Jo a ty proměnný se anglicky jmenujou fields (krásnej výraz, ale zatím mě nenapadlo, jak na to v češtině ... v javě tomu říkaj tuším atributy).

To Algon : Text není třída, ale instance třídy System.String, která v daném kontextu není dostupná (prostě neexistuje). Program bez vstupní metody jsem neviděl, možná myslíš ClassLibrary, nebo ne?

using System; 

using System.Windows.Forms;
using System.Drawing;

class App
{
private static Label label;

static void Main(string[] args)
{
Form f = new Form();
f.ForeColor = Color.Red;
f.Font = new Font( "Verdana" , 12 );
f.Width = 700;
f.Height = 1000;

label = new Label();
label.Width = 100;
label.Height = 100;

Button button1 = new Button();
// šel by použít lambda výraz a proměnná label by mohla zůstat lokální
button1.Click += new EventHandler(button1_Click);
button1.Text = "Chci to videt znova!";
button1.Width = 100;
button1.Height = 100;
button1.Location = new Point( 35, 87 );

f.Controls.Add(button1);
f.Controls.Add(label);

Application.Run(f);
}

private static void button1_Click(object sender, EventArgs e)
{
// NEEXISTUJE: this.Text = "Hello"; , je třeba nahradit něčím jiným
label.Text = "Hello";
}
}
BTW: dávej si pozor na odsazení kódu, hodně to pomáhá

Nahlásit jako SPAM
IP: 84.21.124.–
Dušan Janošík | web: djanosik.cz, @djanosik
Algon0
Newbie
7. 8. 2009   #11
-
0
-

Djanosik: Děkuju, už to funguje. :)

Nahlásit jako SPAM
IP: 82.100.5.–
dannyk0
Věrný člen
7. 8. 2009   #12
-
0
-

2 djanosik: No rikam, sila zvyku, ale dam si na to pozor, at ti nedelam vrasky.
Co se tyce tech variables/fields, tak mas pravdu, ale prijde mi divne, ze z toho delaji takovy gulas, kdyz je to prakticky jedno a to same.

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
7. 8. 2009   #13
-
0
-

To dannyk : No v podstatě ano, všechno jsou to proměnné dostupné pro celý blok, ve kterém jsou deklarovány (a je jedno, jestli je to třída nebo metoda, apod).

Nahlásit jako SPAM
IP: 84.21.124.–
Dušan Janošík | web: djanosik.cz, @djanosik
dannyk0
Věrný člen
7. 8. 2009   #14
-
0
-

To djanosik: Tak nejak

Nahlásit jako SPAM
IP: 85.135.97.–
Jedu v c++,c#,assembler,ASP.NET,PHP,databaze,bezpecnost softwaru[br] -----------------------------------------------------------[br] Muj blog o programovani,hudbe a vsem moznem,co najdu na netu :) [br] http://dannyk.aspone.cz[br] -----------------------------------------------------------[br] Na foru mam nejake prispevky pod nickem Master,tak jen pro upresneni :)
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, 124 hostů

Podobná vlákna

Orezavaci handler — založil George

Handler mjepg — založil Peter

Session handler — založil truth

Menu Handler — založil Algon

Ashx handler a locknutý jpg — založil Václav Ondičko

 

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