C# zobrazování aktuálního času v textboxu – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C# zobrazování aktuálního času v textboxu – .NET – Fórum – Programujte.comC# zobrazování aktuálního času v textboxu – .NET – Fórum – Programujte.com

 

Zzzajda0
Newbie
21. 6. 2012   #1
-
0
-

Potřebuju, aby textbox zobrazoval aktuální čas konkrétně v sekundách, funkce je  DateTime.Now.ToString("ss"), ale nevím jak to udělat tak, aby textbox čas aktualizoval.
Zkoušel sem tohle, okno sice nespadne, ale vůbec se nenačte

private void Window_Loaded(object sender, RoutedEventArgs e)
        {
 do
            {               
                textBox1.Text = DateTime.Now.ToString("ss");               
            }
            while (...);
}
Nahlásit jako SPAM
IP: 77.87.242.–
Mutagen0
Super člen
21. 6. 2012   #2
-
+2
-
Zajímavé

   Takhle bych to řešil já.

    public partial class TimerExample : Form
    {
        Timer Example;

        public TimerExample()
        {
            InitializeComponent();
            Example = new Timer();
            Example.Interval = 100;
            Example.Tick +=new EventHandler(Example_Tick);
            Example.Start();
        }

        public void Example_Tick(object sender, EventArgs e)
        {
            textBox1.Text = DateTime.Now.ToString("HH:mm:ss");
        }
    }
Nahlásit jako SPAM
IP: 89.190.90.–
Zzzajda0
Newbie
22. 6. 2012   #3
-
0
-

V metodě TimerExample mi to nebere příkaz InitializeComponent(), "the name "InitializeCompponent" does not exist in current context" a Example.Tick, "System.Timers.Timer does not contain contain a definition for "Tick""  

Nahlásit jako SPAM
IP: 77.87.242.–
Mutagen
~ Anonymní uživatel
549 příspěvků
22. 6. 2012   #4
-
+1
-
Zajímavé

#3 Zzzajda
Tak jinak to je celej projekt kdyby jsi tam rpidal Usingy tak ti to pojede ...

Jinak ti stačí nadeklarovat Timer a eventu vytvořit

Timer Example; // do Class
pak si do náky void funkce nebo do Form_Load pridas instrukce 

Example = new Timer();
Example.Interval = 100;
Example.Tick +=new EventHandler(Example_Tick);
Example.Start();

a pak do class vytvoříš eventu
public void Example_Tick(object sender, EventArgs e)
{
	textBox1.Text = DateTime.Now.ToString("HH:mm:ss");
}
Nahlásit jako SPAM
IP: 82.202.104.–
Zzzajda0
Newbie
22. 6. 2012   #5
-
0
-

Už jsem asi pochopil jak to funguje, ale Studio mi pořád nebere slovíčko "Tick":

'System.Timers.Timer' does not contain a definition for 'Tick' and no extension method 'Tick' accepting a first argument of type 'System.Timers.Timer' could be found (are you missing a using directive or an assembly reference?) 

Nahlásit jako SPAM
IP: 77.87.242.–
Mutagen0
Super člen
22. 6. 2012   #6
-
0
-

#5 Zzzajda
Tak asi ti chybí treba reference? Nebo pouzivas jinej timer (taky jsem to už zažil)

Nahlásit jako SPAM
IP: 89.190.90.–
LukoSS
~ Anonymní uživatel
73 příspěvků
22. 6. 2012   #7
-
+1
-
Zajímavé

Ten timer, který má na mysli Mutagen je System.Windows.Forms.Timer a ne System.Timers.Timer

Nahlásit jako SPAM
IP: 88.103.252.–
Zzzajda0
Newbie
28. 6. 2012   #8
-
0
-

Já vytvářím WPF, ne Windows forms aplikaci, takže mi to direktivu using system.windows.forms.timer nebere...

Nahlásit jako SPAM
IP: 77.87.242.–
LukoSS
~ Anonymní uživatel
73 příspěvků
28. 6. 2012   #9
-
+1
-
Zajímavé
Nahlásit jako SPAM
IP: 88.103.252.–
28. 6. 2012   #10
-
0
-

Pokud nechceš přidávat do using Forms tak ve wpf se dá timer použít takto.

Do using

using System.Windows.Threading;

A například takto inicializovat timer

public MainWindow()
        {
            InitializeComponent();

            DispatcherTimer diTimer = new DispatcherTimer();  // inicializace timeru
            diTimer.Tick += new EventHandler(disTimer_Tick);   // zde název funkce která proběhne každou sekundu
            diTimer.Interval = new TimeSpan(0, 0, 1);   // nastavení intervalu
            diTimer.Start();   //spuštění timeru
        }
        private void disTimer_Tick(object sender, EventArgs e)
        {
            txtValue.Text = DateTime.Now.ToString("ss");      
        }

Předem se omlouvám za mou gramatiku :)

Nahlásit jako SPAM
IP: 82.208.25.–
http://www.davidrosko.gekoni.cz/
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, 46 hostů

 

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