private void m_CameraList_SelectedIndexChanged(object sender, EventArgs e) { // Close the camera if it was opened m_VimbaHelper.CloseCamera(); // Determine selected camera CameraInfo selectedItem = m_CameraList.SelectedItem as CameraInfo; if (null == selectedItem) { textBox1.Text += "\n" + "No camera selected."; throw new NullReferenceException("No camera selected."); } else { textBox1.Text += "\n" + "camera selected OK."; } // Open selected camera m_VimbaHelper.OpenCamera(selectedItem.ID); UpdateControls(); // In case that the check box is still checked, enable the software trigger if (m_VimbaHelper.IsTriggerAvailable) { //m_VimbaHelper.EnableSoftwareTrigger(m_SoftwareTriggerCheckbox.Checked); } }
private void m_AcquireButton_Click(object sender, EventArgs e) { if (false == m_Acquiring) { try { // Determine selected camera CameraInfo selectedItem = m_CameraList.SelectedItem as CameraInfo; if (null == selectedItem) { throw new NullReferenceException("No camera selected."); } // Open the camera if it was not opened before m_VimbaHelper.OpenCamera(selectedItem.ID); // Start asynchronous image acquisition (grab) in selected camera m_VimbaHelper.StartContinuousImageAcquisition(this.OnFrameReceived); m_Acquiring = true; UpdateControls(); // Disable the camera list to inhibit changing the camera m_CameraList.Enabled = false; LogMessage("Asynchronous image acquisition started."); } catch (Exception exception) { LogError("Could not start asynchronous image acquisition. Reason: " + exception.Message); } } else { try { try { // Start asynchronous image acquisition (grab) in selected camera m_VimbaHelper.StopContinuousImageAcquisition(); } finally { m_Acquiring = false; UpdateControls(); } LogMessage("Asynchronous image acquisition stopped."); } catch (Exception exception) { LogError("Error while stopping asynchronous image acquisition. Reason: " + exception.Message); } // Re-enable the camera list m_CameraList.Enabled = true; } }