IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Neaktivní uživatel:26.10.2012 13:02

Jak mám udělat v C# ve Windows Forms aby se mi čas aktualizoval ?
Když dám

label1.Text = Convert.ToString(DateTime.Now);

tak to se neaktualizuje... tak jak ?

Odpovědět
26.10.2012 13:02
Neaktivní uživatelský účet
Avatar
David Jančík
Vlastník
Avatar
Nahoru Odpovědět
26.10.2012 13:05
Zapomeň, že je to nemožné a udělej to ;)
Avatar

Člen
Avatar
:26.10.2012 13:06

Nazdar,

zkus to udělat pomocí nástroje Timer.
Nastavíš interval a pak upravuješ pomocí eventu Tick.

 
Nahoru Odpovědět
26.10.2012 13:06
Avatar
Odpovídá na
Neaktivní uživatel:26.10.2012 13:06

To mi taky došlo že to asi bude nějak přes timer ale nevím jak ?

Nahoru Odpovědět
26.10.2012 13:06
Neaktivní uživatelský účet
Avatar

Člen
Avatar
:26.10.2012 13:09

Zkus to takto:
Přidej timer, interval nastav na 1000 a rozklikni event Tick.
V této události vždycky zavolej metodu, ve které se ti čas vypisuje.

 
Nahoru Odpovědět
26.10.2012 13:09
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na Neaktivní uživatel
David Jančík:26.10.2012 13:09
Timer timer = new Timer();
timer.Interval = 100; // 100 ms
timer.Tick += (dvakrát zmáčkni tab)
Nahoru Odpovědět
26.10.2012 13:09
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Odpovídá na David Jančík
Neaktivní uživatel:26.10.2012 13:14
private void form1_Load(object sender, EventArgs e)
        {
Timer timer = new Timer();
 timer.Interval = 100; // 100 ms
 timer.Tick += new EventHandler(timer_Tick);
        }

        void timer_Tick(object sender, EventArgs e)
        {
            throw new NotImplementedException();
        }

Fajn jak vypsat kolik je ?

Editováno 26.10.2012 13:14
Nahoru Odpovědět
26.10.2012 13:14
Neaktivní uživatelský účet
Avatar
matesax
Tvůrce
Avatar
Odpovídá na David Jančík
matesax:26.10.2012 13:14

Chce čas ne - takže interval 1000...

Proč do load? Proč tak dlouze? :)

public MainForm()
{
    InitializeComponent();

    new Timer() { Interval = 1000 }.Tick += new EventHandler(MainForm_Tick);
}

void MainForm_Tick(object sender, EventArgs e)
{

}
Editováno 26.10.2012 13:16
 
Nahoru Odpovědět
26.10.2012 13:14
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na Neaktivní uživatel
David Jančík:26.10.2012 13:17

Do toho eventu Tick dáš to přiřazení tomu labelu.

Nahoru Odpovědět
26.10.2012 13:17
Zapomeň, že je to nemožné a udělej to ;)
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na matesax
David Hartinger:26.10.2012 13:19

Zlomek vteřiny proto, že se jistě start programu nestrefí do momentu, kdy začíná vteřina a nerefreshovalo by se to dobře.

Dlouhé to je proto, protože se v C# tak píše. Pokud chceš psát krátce, zvol jiný jazyk, třeba Ruby, ten se vyznačuje krátkou syntaxí. V C# jen znepřehledňuješ kód, který je nestandardní a špatně rozšiřitelný.

Nahoru Odpovědět
26.10.2012 13:19
New kid back on the block with a R.I.P
Avatar
Odpovídá na David Jančík
Neaktivní uživatel:26.10.2012 13:27

tak

private void form1_Load(object sender, EventArgs e)
        {
Timer timer = new Timer();
 timer.Interval = 100; // 100 ms
 timer.Tick += new EventHandler(timer_Tick);
        }

        void timer_Tick(object sender, EventArgs e)
        {
           label1.text = throw new NotImplementedException();
        }

??? Já fakt nevím

Nahoru Odpovědět
26.10.2012 13:27
Neaktivní uživatelský účet
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
matesax:26.10.2012 13:31

Vždyť chceš hodiny ne?

private void form1_Load(object sender, EventArgs e)
        {
Timer timer = new Timer() { Interval = 100, Enabled = true };

 timer.Tick += new EventHandler(timer_Tick);
        }

        void timer_Tick(object sender, EventArgs e)
        {
           label1.text = DateTime.Now.ToString();
        }
Editováno 26.10.2012 13:33
 
Nahoru Odpovědět
26.10.2012 13:31
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Neaktivní uživatel
David Hartinger:26.10.2012 13:31

Přečti si co ti psal davos a pak co jsi tam dal ty. Mělo by ti to dojít.

Nahoru Odpovědět
26.10.2012 13:31
New kid back on the block with a R.I.P
Avatar
Nahoru Odpovědět
26.10.2012 13:37
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na David Hartinger
Kit:26.10.2012 13:43

Když jsem posledně dělal hodiny v Javascriptu, tak jsem si vždy nejprve zjistil, kolik času zbývá do konce sekundy a čekal jsem jenom tuto krátkou dobu. Fungovalo to výborně. Možná by se něco podobného dalo udělat i v C#.

Nahoru Odpovědět
26.10.2012 13:43
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 15 zpráv z 15.