private void cam_devices_SelectedIndexChanged(object sender, EventArgs e) { if (cam_devices.SelectedItem != null) { Size oldFrameSize = new Size(0, 0); int oldMaxFrameRate = 0; if (cam_capability.SelectedItem != null) { oldFrameSize = ((DeviceCapabilityInfo)cam_capability.SelectedItem).FrameSize; oldMaxFrameRate = ((DeviceCapabilityInfo)cam_capability.SelectedItem).MaxFrameRate; } cam_capability.Items.Clear(); int oldCapIndex = -1; VideoCaptureDevice video = new VideoCaptureDevice(((DeviceInfo)cam_devices.SelectedItem).MonikerString); for (int i = 0; i < video.VideoCapabilities.Length; i++) { VideoCapabilities cap = video.VideoCapabilities[i]; DeviceCapabilityInfo capInfo = new DeviceCapabilityInfo(cap.FrameSize, cap.MaxFrameRate); cam_capability.Items.Add(capInfo); if (oldFrameSize == capInfo.FrameSize && oldMaxFrameRate == capInfo.MaxFrameRate) { oldCapIndex = i; } } if (oldCapIndex == -1) { oldCapIndex = 0; } cam_capability.SelectedIndex = oldCapIndex; SelectCamera(((DeviceInfo)cam_devices.SelectedItem).Index); } }
private void cam_devices_SelectedIndexChanged(object sender, EventArgs e) { if (cam_devices.SelectedItem != null) { Size oldFrameSize = new Size(0, 0); int oldMaxFrameRate = 0; if (cam_capability.SelectedItem != null) { oldFrameSize = ((DeviceCapabilityInfo)cam_capability.SelectedItem).FrameSize; oldMaxFrameRate = ((DeviceCapabilityInfo)cam_capability.SelectedItem).MaxFrameRate; } cam_capability.Items.Clear(); int oldCapIndex = -1; VideoCaptureDevice video = new VideoCaptureDevice(((DeviceInfo)cam_devices.SelectedItem).MonikerString); for (int i = 0; i < video.VideoCapabilities.Length; i++) { VideoCapabilities cap = video.VideoCapabilities[i]; DeviceCapabilityInfo capInfo = new DeviceCapabilityInfo(cap.FrameSize, cap.MaxFrameRate); cam_capability.Items.Add(capInfo); if (oldFrameSize == capInfo.FrameSize && oldMaxFrameRate == capInfo.MaxFrameRate) oldCapIndex = i; } if (oldCapIndex == -1) oldCapIndex = 0; cam_capability.SelectedIndex = oldCapIndex; SelectCamera(((DeviceInfo)cam_devices.SelectedItem).Index); } }