0

私は、numericUpDown コントロール minValue - 0 maxValue - 100 を持っています。

このコントロールへのバインドを作成します。

値が 101 に変更された場合は例外になりますが、これは必要ありません。値は特に言及されていません。どうやってするの ?

アップデート:

BindinHelper.BindField(this.nUpDownExecArea, "Value", TempConfigClass, "ExecArea");

BindField:

public static void BindField(Control control, string propertyName,
               object dataSource, string dataMember)
        {
            Binding bd;

            for (int index = control.DataBindings.Count - 1; (index == 0); index--)
            {
                bd = control.DataBindings[index];
                if (bd.PropertyName == propertyName)
                    control.DataBindings.Remove(bd);
            }
            control.DataBindings.Add(propertyName, dataSource, dataMember, false, DataSourceUpdateMode.OnPropertyChanged);
        }

設定しました TempConfigClass.ExecArea = 99999;

エラーにはなりませんが、エラーがnumericUpDownのように見えるタブ(tabcontrol)に移動すると

4

1 に答える 1

3

argumentOutOfRangeException は、受け取った引数が例外的であったことを示しています。ただし、アプリが特定の引数を期待するように設計されている場合は、次の 2 つの方法があります。

推奨される方法- バインディングが行われる前に値を確認し、範囲外の場合はそれ以上進まないようにするだけです

または- try/catch ブロックを使用して特定の例外のみをキャッチし、それに応じて処理します

于 2011-07-20T16:08:51.607 に答える