Как сделать огонь в окне сообщения, если условие else и значение TimeSpan?
У меня есть этот код
<pre>private void timer2_Tick(object sender, EventArgs e) { //start time is another DateTime.now //timeSinceStart is an array of timeSpan //i believe that the for loop is for me to be able to create and store many values for //the timespan and update the listview items(see link below for the photo of the form) for (int w = 0; w < listView1.Items.Count; w++) { timeSinceStart[w] = DateTime.Now - startTime[w]; listView1.Items[w].SubItems[6].Text = (timeSinceStart[w].TotalSeconds.ToString()); if (f.ToString() == listView1.Items[w].SubItems[6].Text) { //you can ignore the mysql codes here //f.ToString() is default 60(its an integer) string constring = "server=localhost;database=dbhorizon;uid=root;password=1234"; string Query = "update tblUserIdd set User_Available = 'Available' where User_ID='" + listView1.Items[w].SubItems[0].Text + "' "; MySqlConnection conDatabase = new MySqlConnection(constring); MySqlCommand cmdDatabase = new MySqlCommand(Query, conDatabase); MySqlDataReader myReader; conDatabase.Open(); myReader = cmdDatabase.ExecuteReader(); dgvref(); //this is what matters MessageBox.Show("dedede"); } else { label3.Text = timeSinceStart[w].TotalSeconds.ToString(); } }
Я действительно не могу заставить окно сообщения всплывать, а также, Значение timespan имеет десятичные значения, есть ли у него связь, почему условие if не срабатывает?
во всяком случае, над этой формой я работаю.
edit * столбец MH на рисунке отсчитывается вверх, например 1 2 3 4 5 6 и т. д.
Что я уже пробовал:
Я попытался преобразовать timespan в datetime и использовать datetime и timespan в условии if else, но это также, похоже, не работает.
Richard MacCutchan
Вам просто нужно выяснить, почему оператор if никогда не срабатывает; отладчик поможет. И почему вы преобразуете числа в строки, чтобы сравнить их?
Member 13378284
Я думаю, что это сработало, когда я заменил этот код if (f.ToString() == listView1.Предметы[w].Подпункты[6]. текст) с этим if (timeSinceStart[w].TotalSeconds >= f& & amp; timeSinceStart[w].TotalSeconds <= f + 1)