Пример #1
0
        private void UpdateCapability(CapabilityContainer capContainer)
        {
            try
            {
                if (capContainer is CapabilityContainerOneValueFloat)
                {
                    CapabilityContainerOneValueFloat capContainerFloat = capContainer as CapabilityContainerOneValueFloat;

                    float newFloatValue;
                    if (float.TryParse(ValueTextBox.Text, out newFloatValue))
                    {
                        capContainerFloat.Value = newFloatValue;
                    }
                }
                else if (capContainer is CapabilityContainerOneValueString)
                {
                    CapabilityContainerOneValueString capContainerString = capContainer as CapabilityContainerOneValueString;

                    capContainerString.Value = ValueTextBox.Text;
                }
                else if (capContainer is CapabilityContainerEnum)
                {
                    CapabilityContainerEnum     capContainerEnum = capContainer as CapabilityContainerEnum;
                    CapabilityContainerOneValue capCurrentValue  = capContainerEnum.CurrentValue;

                    if (capCurrentValue is CapabilityContainerOneValueFloat)
                    {
                        CapabilityContainerOneValueFloat capCurrentValueFloat = capCurrentValue as CapabilityContainerOneValueFloat;

                        float newFloatValue;
                        if (float.TryParse(CurrentValueTextBox.Text, out newFloatValue))
                        {
                            capCurrentValueFloat.Value = newFloatValue;
                        }
                    }
                    else if (capCurrentValue is CapabilityContainerOneValueString)
                    {
                        CapabilityContainerOneValueString capCurrentValueString = capCurrentValue as CapabilityContainerOneValueString;

                        capCurrentValueString.Value = CurrentValueTextBox.Text;
                    }
                }
                else if (capContainer is CapabilityContainerRange)
                {
                    CapabilityContainerRange capContainerRange = capContainer as CapabilityContainerRange;

                    float newMaximumValue;
                    if (float.TryParse(MaximumTextBox.Text, out newMaximumValue))
                    {
                        capContainerRange.Maximum = newMaximumValue;
                    }
                    float newMinimumValue;
                    if (float.TryParse(MinimumTextBox.Text, out newMinimumValue))
                    {
                        capContainerRange.Minimum = newMinimumValue;
                    }
                    float newValue;
                    if (float.TryParse(ValueTextBox.Text, out newValue))
                    {
                        capContainerRange.Value = newValue;
                    }
                    float newStepValue;
                    if (float.TryParse(StepTextBox.Text, out newStepValue))
                    {
                        capContainerRange.Step = newStepValue;
                    }
                }

                twainDevice.SetCapability(capContainer);
            }
            catch (TwainException ex)
            {
                MessageBox.Show(String.Format(Constants.twainErrorString, (int)ex.ConditionCode, ex.ConditionDescription), "Error setting capabilities.", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }