// Collect supported video and snapshot sizes private void EnumeratedSupportedFrameSizes(VideoCaptureDevice videoDevice) { Cursor = Cursors.WaitCursor; videoResolutionsCombo.Items.Clear( ); snapshotResolutionsCombo.Items.Clear( ); try { videoCapabilities = videoDevice.GetVideoCapabilities(); snapshotCapabilities = videoDevice.GetSnapshotCapabilities(); foreach (VideoCapabilities capabilty in videoCapabilities) { videoResolutionsCombo.Items.Add(string.Format(CultureInfo.InvariantCulture, "{0} x {1}", capabilty.FrameSize.Width, capabilty.FrameSize.Height)); } foreach (VideoCapabilities capabilty in snapshotCapabilities) { snapshotResolutionsCombo.Items.Add(string.Format(CultureInfo.InvariantCulture, "{0} x {1}", capabilty.FrameSize.Width, capabilty.FrameSize.Height)); } if (videoCapabilities.Length == 0) { videoResolutionsCombo.Items.Add("Not supported"); } if (snapshotCapabilities.Length == 0) { snapshotResolutionsCombo.Items.Add("Not supported"); } videoResolutionsCombo.SelectedIndex = 0; snapshotResolutionsCombo.SelectedIndex = 0; } finally { Cursor = Cursors.Default; } }