private void LogControlForm_FormClosing(object sender, FormClosingEventArgs e) { if (e.CloseReason == CloseReason.UserClosing) { e.Cancel = true; _logStream.Disconnect(); } }
private void dgvLogfile_CellContentClick(object sender, DataGridViewCellEventArgs e) { // Only button column if (dgvLogfile.Columns[e.ColumnIndex].Name != "ChangeFile") { return; } // Get selected stream CANStreamer_Logfile selStream = logStreams[e.RowIndex]; // Open file dialog OpenFileDialog oDialog = new OpenFileDialog(); if (selStream is CANStreamer_XMLLogfile) { oDialog.Filter = CANStreamer_XMLLogfile.FileFilter; } else if (selStream is CANStreamer_KeesLogfile) { oDialog.Filter = CANStreamer_KeesLogfile.FileFilter; } else if (selStream is CANStreamer_N0183Logfile) { oDialog.Filter = CANStreamer_N0183Logfile.FileFilter; } else if (selStream is CANStreamer_WeatherLogfile) { oDialog.Filter = CANStreamer_WeatherLogfile.FileFilter; } else { throw new Exception("No file filter defined for type '" + selStream.GetType().Name + "'"); } oDialog.FileName = selStream.FileName ?? ""; if ((oDialog.ShowDialog() == DialogResult.OK) && (oDialog.CheckFileExists)) { selStream.FileName = oDialog.FileName; if (selStream.ConnectionState == ConnectionStateEnum.Connected) { selStream.Disconnect(); selStream.ConnectStream(); } } }