Я очень новичок в C # и хотел попробовать некоторые проблемы.Я создал ListView
для хранения операций двух случайных чисел, которые происходят за определенное время.
Вот как я построил ListView
:
Первый столбец называется «Время начала» для записи времени, когда таймер запускался.Второй столбец делает то же самое, но для «Время окончания».Теперь при запуске Listview
будет программно создавать несколько столбцов для хранения результатов операций.
Однако при запуске программы результаты переходят во второй столбец, который зарезервирован для записи «времени окончания».
Как мне убедиться, что второй столбец пуст до конца таймера и что результаты будут помещены в начало от третьего столбца до конца?
Воткод:
static int k = 10;
ListViewItem lvi1 = new ListViewItem();
private void Bstart_Click(object sender, EventArgs e)
{
timer1.Start();
lvi1 = new ListViewItem(DateTime.Now.ToString("HH:mm:ss"));
listView2.Items.Add(lvi1);
}
private void Timer1_Tick(object sender, EventArgs e)
{
Random ran1 = new Random();
Random ran2 = new Random();
double nu1 = ran1.Next(0, 100);
double nu2 = ran2.Next(2, 270);
string op;
var operation = ran1.Next(1, 5);
double res;
if (k > 1)
{
label1.Text = k.ToString() + " seconds remaining";
}
else if (k == 1)
{
label1.Text = k.ToString() + " seconds remaining";
}
else
{
timer1.Stop();
lvi1.SubItems[1].Text = DateTime.Now.ToString("HH:mm:ss");
label1.Text = "You have 10 seconds";
//MessageBox.Show("You are out of time!", "Too Bad", MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation);
k = 10;
}
k--;
switch (operation)
{
case 1:
res = nu1 + nu2;
op = "+";
break;
case 2:
res = nu1 - nu2;
op = "-";
break;
case 3:
res = nu1 * nu2;
op = "*";
break;
case 4:
res = nu1 / nu2;
op = "/";
break;
default:
res = 0;
op = "?";
break;
}
textBox1.Text = Convert.ToString(nu1 + " " + op + " " + nu2 + " = " + res);
listView2.Columns.Add("OP", 45, HorizontalAlignment.Center);
lvi1.SubItems.Add(res.ToString());
}
private void Bstop_Click(object sender, EventArgs e)
{
timer1.Stop();
}