private void btnFirmwareUpdate_Click(object sender, EventArgs e) { UsbPenComm pen; if ((pen = GetSelectedPen()) == null) { MessageBox.Show("Please select pen"); return; } updateForm = new UpdateForm(pen.PortName, (string portName, string filePath, string firmwareVersion) => { try { pen.UpdateRequest(firmwareVersion, filePath); } catch (FirmwareVersionIsTooLongException) { MessageBox.Show("Firmware version is not invalid"); } catch (FileCannotLoadException) { MessageBox.Show("Firmware file cannot open"); } }); updateForm.ShowDialog(); }
private void UsbAdapter_Disconnected(object sender, Events.ConnectionStatusChangedEventArgs e) { // When the pen is disconnected, you must remove the attached event handler. var usbPenComm = e.UsbPenComm; usbPenComm.OfflineFileListReceived -= UsbPenComm_FileListReceived; usbPenComm.LogFileListReceived -= UsbPenComm_FileListReceived; usbPenComm.FileInfoReceived -= UsbPenComm_FileInfoReceived; usbPenComm.FileDownloadProgressChanged -= UsbPenComm_FileDownloadProgressChanged; usbPenComm.FileDownloadResultReceived -= UsbPenComm_FileDownloadResultReceived; usbPenComm.DeleteFileResultReceived -= UsbPenComm_DeleteFileResultReceived; usbPenComm.BatteryStatusReceived -= UsbPenComm_BatteryStatusReceived; usbPenComm.StorageStatusReceived -= UsbPenComm_StorageStatusReceived; usbPenComm.DateTimeReceived -= UsbPenComm_DateTimeReceived; usbPenComm.ConfigSetupResultReceived -= UsbPenComm_ConfigSetupResultReceived; usbPenComm.FormatResultReceived -= UsbPenComm_FormatResultReceived; usbPenComm.PowerOffResultReceived -= UsbPenComm_PowerOffResultReceived; usbPenComm.UpdateProgressChanged -= UsbPenComm_UpdateProgressChanged; usbPenComm.UpdateResultReceived -= UsbPenComm_UpdateResultReceived; this.BeginInvoke(new MethodInvoker(delegate() { for (int i = 0; i < lvUsbPens.Items.Count; i++) { if ((string)lvUsbPens.Items[i].Tag == e.UsbPenComm.PortName) { lvUsbPens.Items.RemoveAt(i); break; } } lvPenFiles.Items.Clear(); lvPenFiles.Enabled = false; lbFirmwareVersion.Text = ""; lbDateTime.Text = ""; nudAutoPowerOffTime.Value = 5; cbAutoPowerOn.Checked = false; cbBeep.Checked = false; cbDownsampling.Checked = false; cbPenCapOff.Checked = false; cbSaveOfflineData.Checked = false; pbBattery.Value = 0; gbSelectedPen.Enabled = false; if (updateForm != null && updateForm.Visible) { updateForm.Hide(); updateForm = null; } })); }