1

私の c# プログラムには、数値を表す非常に単純な DevExpress 編集ボックスがあります。

ここに画像の説明を入力

私がやりたいのは、次のような方法で小数点以下の桁数に制限を追加することです:

  • ユーザーは、定義済みの小数点以下の桁数を超える値を入力、貼り付け、またはその他の方法で入力することはできません。実際、小数点以下3桁が入力されるとすぐに、編集ボックスを使用してユーザーの入力を無視したいだけです。
  • プログラマーが編集ボックスのテキストを設定すると、要件を満たすように値が丸められます。

これを行う最善の方法は何ですか?

P .:これで問題が解決すると思いました:

valueTextEdit.Properties.DisplayFormat.FormatType = DevExpress.Utils.FormatType.Numeric;
valueTextEdit.Properties.DisplayFormat.FormatString = "#.000;[#.000];0.000";

しかし、それは何もしないようです。小数点以下 10 桁の値を入力できます。また、コードでは、編集ボックスのテキストを小数点以下の桁数が大きい値に設定できます。

4

3 に答える 3

4

次を設定する必要がありますUseMaskAsDisplayFormat = true

こちらこちらをご覧ください

編集:

ここに良い例

于 2011-09-08T14:13:15.120 に答える
0

から派生(継承)する独自のクラスを作成しTextBox、プロパティをオーバーライドTextして要件を追加できます。

internal class SmartTextBox : TextBox
{
    public SmartTextBox()
    {
    }

    public override string Text
    {
        get
        {
            return base.Text;
        }
        set
        {
            // validate 'value' before setting it
            base.Text = value;
        }
    }
}

プロジェクトをビルドすると、.NETControlsでControl呼び出された新しいプロジェクトが見つかります。SmartTextBox

編集:しかし、数値入力のみに使用する場合は、コントロールTextBoxを使用しないのはなぜですか?NumericUpDownユーザーは文字を入力できず、10進数の精度を設定することもできます。

于 2011-09-08T14:00:04.703 に答える
0

.NetのこのMaskTextBoxコントロールを試してください

MaskedTextBoxを使用して、テキストボックスに数値形式でデータを入力できます。

これがお役に立てば幸いです

ありがとうございました

于 2011-09-08T13:18:09.230 に答える