void FillCameraComboBox()
        {
            this.CameraComboBox.Items.Clear();
            string lastCam = Settings.Get <Settings>().Read(Settings.LAST_USED, Settings.CAMERA_DEVICE, string.Empty);
            List <DSCameraInfo> camInfos = DSCameraInfo.GetAvailableCamera();
            int found = -1;

            for (int i = 0; i < camInfos.Count; i++)
            {
                DSCameraInfo cam = camInfos[i];
                this.CameraComboBox.Items.Add(cam);
                if (cam.UniqueId == lastCam)
                {
                    found = i;
                }
            }
            try
            {
                if (found != -1)
                {
                    CameraComboBox.SelectedIndex = found;
                }
            }
            catch { }
        }
        private void CameraResolutionComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            //            const int VIDEOWIDTH = 1024; // Depends on video device caps
            //           const int VIDEOHEIGHT = 480; // Depends on video device caps
            //            const int VIDEOWIDTH = 1280; // Depends on video device caps
            //            const int VIDEOHEIGHT = 720; // Depends on video device caps
            //            const int VIDEOBITSPERPIXEL = 24; // BitsPerPixel values determined by device

            Sardauscan.Hardware.DSCameraProxy.Resolution res = (Sardauscan.Hardware.DSCameraProxy.Resolution) this.CameraResolutionComboBox.SelectedItem;
            DSCameraInfo camInfo = (DSCameraInfo)this.CameraComboBox.SelectedItem;

            DisposeCamera();
            if (res != null && camInfo != null)
            {
                try
                {
                    Camera = new DSCameraProxy(camInfo, res, null /*PreviewPanel*/);
                    Settings.Get <Settings>().Write(Settings.LAST_USED, Settings.CAMERA_RESOLUTION, res.ToString());
                    Settings.Get <Settings>().Write(Settings.LAST_USED, Settings.CAMERA_DEVICE, camInfo.UniqueId);
                    Proxy = Camera;
                    this.PreviewControl.Proxy = Proxy;
                }
                catch
                {
                }
            }
        }
        private void FillCameraResolutionComboBox(DSCameraInfo camInfo)
        {
            this.CameraResolutionComboBox.Items.Clear();
            List <Sardauscan.Hardware.DSCameraProxy.Resolution> list = camInfo.GetAvailableResolution();

            list = FilterResolutions(list);
            string lastRes = Settings.Get <Settings>().Read(Settings.LAST_USED, Settings.CAMERA_RESOLUTION, string.Empty);
            int    found   = -1;

            for (int i = 0; i < list.Count; i++)
            {
                this.CameraResolutionComboBox.Items.Add(list[i]);
                if (list[i].ToString() == lastRes)
                {
                    found = i;
                }
            }
            if (found != -1)
            {
                this.CameraResolutionComboBox.SelectedIndex = found;
            }
        }
        private void CameraComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            DSCameraInfo camInfo = (DSCameraInfo)this.CameraComboBox.SelectedItem;

            FillCameraResolutionComboBox(camInfo);
        }
		private void FillCameraResolutionComboBox(DSCameraInfo camInfo)
		{
			this.CameraResolutionComboBox.Items.Clear();
			List<Sardauscan.Hardware.DSCameraProxy.Resolution> list = camInfo.GetAvailableResolution();
			list = FilterResolutions(list);
			string lastRes = Settings.Get<Settings>().Read(Settings.LAST_USED, Settings.CAMERA_RESOLUTION, string.Empty);
			int found = -1;
			for (int i = 0; i < list.Count; i++)
			{
				this.CameraResolutionComboBox.Items.Add(list[i]);
				if (list[i].ToString() == lastRes)
					found = i;
			}
			if (found != -1)
				this.CameraResolutionComboBox.SelectedIndex = found;
	
		}