Cyperfriend
Der ohne Avatar
- Registriert
- 14 Juli 2013
- Beiträge
- 1.123
Ich habe mir ein Countdown-Tool geschrieben, dass nach Ablauf der Zeit einen Ton abspielt. Funktioniert sogar .
Nun will ich die Zeit aber nicht in Sekunden angeben, sondern im Format 01:12:45, also 1 Stunde, 12 Minuten 45 Sekunden. Die Zeit soll dann auch entsprechend so angezeigt ablaufen. Wie kann ich das bewerkstelligen? Hier der bisherige Code und ein Screenshot des Programms.
Anhang anzeigen 34667
[src=csharp]using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Media;
namespace Timer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Globale Variablen
int alarm1;
int alarm2;
int alarm3;
SoundPlayer sp = new SoundPlayer("sound.wav");
// Timer #1
private void txtTimer1_MouseClick(object sender, MouseEventArgs e)
{
txtTimer1.Text = "";
}
private void txtBeschreibung1_MouseClick(object sender, MouseEventArgs e)
{
txtBeschreibung1.Text = "";
}
private void cmdStartTimer1_Click(object sender, EventArgs e)
{
// Prüfen, ob der Timer1 bereits läuft
if (timer1.Enabled)
{
timer1.Enabled = false;
cmdStartTimer1.Text = "Weiter";
}
else
{
timer1.Enabled = true;
cmdStartTimer1.Text = "Pause";
alarm1 = Convert.ToInt32(txtTimer1.Text);
}
}
private void timer1_tick(object sender, EventArgs e)
{
// Immer eine Sekunde abziehen und dies im Textfeld anzeigen
alarm1 -= 1;
txtTimer1.Text = Convert.ToString(alarm1);
// Wenn der Timer1 abgelaufen ist
if (alarm1 == 0)
{
sp.Play();
timer1.Enabled = false;
cmdStartTimer1.Text = "Start";
return;
}
}
// Timer #2
private void txtTimer2_MouseClick(object sender, MouseEventArgs e)
{
txtTimer2.Text = "";
}
private void txtBeschreibung2_MouseClick(object sender, MouseEventArgs e)
{
txtBeschreibung2.Text = "";
}
private void cmdStartTimer2_Click(object sender, EventArgs e)
{
// Prüfen, ob der Timer2 bereits läuft
if (timer2.Enabled)
{
timer2.Enabled = false;
cmdStartTimer2.Text = "Weiter";
}
else
{
timer2.Enabled = true;
cmdStartTimer2.Text = "Pause";
alarm2 = Convert.ToInt32(txtTimer2.Text);
}
}
private void timer2_tick(object sender, EventArgs e)
{
// Immer eine Sekunde abziehen und dies im Textfeld anzeigen
alarm2 -= 1;
txtTimer2.Text = Convert.ToString(alarm2);
// Wenn der Timer2 abgelaufen ist
if (alarm2 == 0)
{
sp.Play();
timer2.Enabled = false;
cmdStartTimer2.Text = "Start";
return;
}
}
// Timer #3
private void txtTimer3_MouseClick(object sender, MouseEventArgs e)
{
txtTimer3.Text = "";
}
private void txtBeschreibung3_MouseClick(object sender, MouseEventArgs e)
{
txtBeschreibung3.Text = "";
}
private void cmdStartTimer3_Click(object sender, EventArgs e)
{
// Prüfen, ob der Timer3 bereits läuft
if (timer3.Enabled)
{
timer3.Enabled = false;
cmdStartTimer3.Text = "Weiter";
}
else
{
timer3.Enabled = true;
cmdStartTimer3.Text = "Pause";
alarm3 = Convert.ToInt32(txtTimer3.Text);
}
}
private void timer3_tick(object sender, EventArgs e)
{
// Immer eine Sekunde abziehen und dies im Textfeld anzeigen
alarm3 -= 1;
txtTimer3.Text = Convert.ToString(alarm3);
// Wenn der Timer3 abgelaufen ist
if (alarm3 == 0)
{
sp.Play();
timer3.Enabled = false;
cmdStartTimer3.Text = "Start";
return;
}
}
}
}[/src]
Nun will ich die Zeit aber nicht in Sekunden angeben, sondern im Format 01:12:45, also 1 Stunde, 12 Minuten 45 Sekunden. Die Zeit soll dann auch entsprechend so angezeigt ablaufen. Wie kann ich das bewerkstelligen? Hier der bisherige Code und ein Screenshot des Programms.
Anhang anzeigen 34667
[src=csharp]using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Media;
namespace Timer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
// Globale Variablen
int alarm1;
int alarm2;
int alarm3;
SoundPlayer sp = new SoundPlayer("sound.wav");
// Timer #1
private void txtTimer1_MouseClick(object sender, MouseEventArgs e)
{
txtTimer1.Text = "";
}
private void txtBeschreibung1_MouseClick(object sender, MouseEventArgs e)
{
txtBeschreibung1.Text = "";
}
private void cmdStartTimer1_Click(object sender, EventArgs e)
{
// Prüfen, ob der Timer1 bereits läuft
if (timer1.Enabled)
{
timer1.Enabled = false;
cmdStartTimer1.Text = "Weiter";
}
else
{
timer1.Enabled = true;
cmdStartTimer1.Text = "Pause";
alarm1 = Convert.ToInt32(txtTimer1.Text);
}
}
private void timer1_tick(object sender, EventArgs e)
{
// Immer eine Sekunde abziehen und dies im Textfeld anzeigen
alarm1 -= 1;
txtTimer1.Text = Convert.ToString(alarm1);
// Wenn der Timer1 abgelaufen ist
if (alarm1 == 0)
{
sp.Play();
timer1.Enabled = false;
cmdStartTimer1.Text = "Start";
return;
}
}
// Timer #2
private void txtTimer2_MouseClick(object sender, MouseEventArgs e)
{
txtTimer2.Text = "";
}
private void txtBeschreibung2_MouseClick(object sender, MouseEventArgs e)
{
txtBeschreibung2.Text = "";
}
private void cmdStartTimer2_Click(object sender, EventArgs e)
{
// Prüfen, ob der Timer2 bereits läuft
if (timer2.Enabled)
{
timer2.Enabled = false;
cmdStartTimer2.Text = "Weiter";
}
else
{
timer2.Enabled = true;
cmdStartTimer2.Text = "Pause";
alarm2 = Convert.ToInt32(txtTimer2.Text);
}
}
private void timer2_tick(object sender, EventArgs e)
{
// Immer eine Sekunde abziehen und dies im Textfeld anzeigen
alarm2 -= 1;
txtTimer2.Text = Convert.ToString(alarm2);
// Wenn der Timer2 abgelaufen ist
if (alarm2 == 0)
{
sp.Play();
timer2.Enabled = false;
cmdStartTimer2.Text = "Start";
return;
}
}
// Timer #3
private void txtTimer3_MouseClick(object sender, MouseEventArgs e)
{
txtTimer3.Text = "";
}
private void txtBeschreibung3_MouseClick(object sender, MouseEventArgs e)
{
txtBeschreibung3.Text = "";
}
private void cmdStartTimer3_Click(object sender, EventArgs e)
{
// Prüfen, ob der Timer3 bereits läuft
if (timer3.Enabled)
{
timer3.Enabled = false;
cmdStartTimer3.Text = "Weiter";
}
else
{
timer3.Enabled = true;
cmdStartTimer3.Text = "Pause";
alarm3 = Convert.ToInt32(txtTimer3.Text);
}
}
private void timer3_tick(object sender, EventArgs e)
{
// Immer eine Sekunde abziehen und dies im Textfeld anzeigen
alarm3 -= 1;
txtTimer3.Text = Convert.ToString(alarm3);
// Wenn der Timer3 abgelaufen ist
if (alarm3 == 0)
{
sp.Play();
timer3.Enabled = false;
cmdStartTimer3.Text = "Start";
return;
}
}
}
}[/src]