Je suis nouveau sur C#. J'essaie de créer un simple programme de rappel de tâches. Le problème est que lorsque j'essaie d'ajouter un compte à rebours pour l'heure limite, cela ne fonctionnera pas correctement.Compte à rebours multiple dans listview C# duplication
Mon premier compte à rebours de la tâche sera écrasé par mon deuxième compte à rebours de la tâche, le même cas lorsque j'ajoute la troisième tâche et ainsi de suite.
Voici le code de la partie corrélative.
private void buttonSave_Click(object sender, EventArgs e)
{
if (this.textBox_Task.Text != "")
{
listView1.View = View.Details;
ListViewItem lvwItem = listView1.Items.Add(dateTimePicker1.Text);
var day = dateTimePicker1.Value.Day;
var month = dateTimePicker1.Value.Month;
var year = dateTimePicker1.Value.Year;
endTime = new DateTime(year,month,day);
//Console.WriteLine(day);
//Console.WriteLine(month);
//Console.WriteLine(year);
//Console.WriteLine(dTime
Timer t = new Timer();
t.Interval = 500;
t.Tick += new EventHandler(t_Tick);
t.Start();
lvwItem.SubItems.Add(textBox_Task.Text);
lvwItem.SubItems.Add(textBox_Note.Text);
lvwItem.SubItems.Add("");
this.dateTimePicker1.Focus();
this.textBox_Note.Focus();
this.textBox_Task.Focus();
this.textBox_Task.Clear();
this.textBox_Note.Clear();
}
else
{
MessageBox.Show("Please enter a task to add.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
this.textBox_Task.Clear();
this.textBox_Note.Clear();
}
}
void t_Tick(object sender, EventArgs e)
{
TimeSpan ts = endTime.Subtract(DateTime.Now);
var hari = dateTimePicker1.Value.Day;
Console.WriteLine(ts.Days);
for (int i = 0; i < listView1.Items.Count; i++)
{
if (ts.Days == 0)
{
listView1.Items[i].SubItems[3].Text = "DEADLINE";
}
else
{
listView1.Items[i].SubItems[3].Text = ts.ToString("d' Days 'h' Hours 'm' Minutes 's' Seconds to go'");
}
}
}
Ce serait très apprécié pour tous ceux qui veulent aider. Merci d'avance.
Here is the link to the picture of my problem
Merci pour la réponse, mais quand je l'ai essayé ce code, il en résulte une erreur n'existe pas dans la contexte actuel "dans void t_Tick. –
L'erreur est-elle levée dans la boucle foreach OU lorsque vous utilisez dateTime. Soustrayez ... –
Si j'essaie le code, aucune erreur ne sera générée. Pourriez-vous décrire où l'erreur se produit? –