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; namespace Tidstagning { public partial class Form1 : Form { BindingList entries = new BindingList { }; ResultList liste; Relay horn; System.IO.StreamReader deltager_handle; public Form1() { InitializeComponent(); deltager_handle = new System.IO.StreamReader("Deltager.txt"); string deltager; while ((deltager = deltager_handle.ReadLine()) != null) { string[] dele = deltager.Split(','); entries.Add(new Entry(dele[0],dele[1])); } liste = new ResultList("Resultat", txtDebug); foreach(string port in Relay.GetPorts()) { comboComport.Items.Add(port); } comboSoundTime.SelectedIndex = 0; comboComport.SelectedIndex = 0; } private void Form1_Load(object sender, EventArgs e) { grid.DataSource = entries; } private void grid_Click(object sender, DataGridViewCellEventArgs e) { if (btnStop.Enabled != true) return; if (e.RowIndex >= 0 && e.ColumnIndex == grid.Columns["DNF"].Index) { entries[e.RowIndex].DNF(); liste.WriteDNF(entries[e.RowIndex]); int index = e.RowIndex; grid.ClearSelection(); grid.CurrentCell = null; entries.RemoveAt(e.RowIndex); } if (e.RowIndex >= 0 && e.ColumnIndex == grid.Columns["Complete"].Index) { entries[e.RowIndex].Complete(); liste.WriteComplete(entries[e.RowIndex]); int index = e.RowIndex; grid.ClearSelection(); grid.CurrentCell = null; entries.RemoveAt(e.RowIndex); horn.Set(0x00, 0x01); countdowntimer.Interval = int.Parse(comboSoundTime.SelectedItem.ToString()); countdowntimer.Start(); } //grid. grid.Refresh(); } private void btnMoveUp_Click(object sender, EventArgs e) { if (grid.SelectedRows.Count == 1) { int idx = grid.SelectedRows[0].Index; if (idx == 0) return; Entry entry = entries[idx]; entries.Remove(entry); entries.Insert(idx - 1, entry); grid.ClearSelection(); grid.Rows[idx - 1].Selected = true; } } private void btnMoveDown_Click(object sender, EventArgs e) { if (grid.SelectedRows.Count == 1) { int idx = grid.SelectedRows[0].Index; if (idx == grid.Rows.Count - 1 ) return; Entry entry = entries[idx]; entries.Remove(entry); entries.Insert(idx + 1, entry); grid.ClearSelection(); grid.Rows[idx + 1].Selected = true; } } private void btnAutoStart_Click(object sender, EventArgs e) { if (txtHeader.Text == "") return; liste.WriteHeader(txtHeader.Text); btnAutoStart.Enabled = false; btnStop.Enabled = true; horn = new Relay(comboComport.SelectedItem.ToString()); } private void btnStop_Click(object sender, EventArgs e) { btnAutoStart.Enabled = true; btnStop.Enabled = false; horn.Close(); liste.Write("Nedtælling stoppet"); countdowntimer.Stop(); } private void timer_Tick(object sender, EventArgs e) { countdowntimer.Stop(); horn.Set(0x00, 0x00); } //Enlarge the row in view private void grid_CellMouseEnter(object sender, DataGridViewCellEventArgs e) { MessageBox.Show(e.RowIndex.ToString()); //grid.Rows[e.RowIndex].Height = 40; //grid.Refresh(); } private void grid_CellMouseLeave(object sender, DataGridViewCellEventArgs e) { //grid.Rows[e.RowIndex].Height = 20; //grid.Refresh(); } } }