4

Visual Studioを使用していて、値(min、max、value、increment)を設定したnumericUpDownコントロールがいくつかあります。コードデザイナは、単純な10進値をint[]に変換し続けます。「このメソッドの内容をコードエディタで変更しないでください」と書かれていることは知っていますが、ここでプロパティを調整すると非常に便利で、変更したときに「物事をきれいに」しているだけだと思いました。

        this.numericUpDown1.Increment = new decimal(new int[] {
        2,
        0,
        0,
        0});

        this.numericUpDown1.Increment = new decimal(2);

しかし、残念ながら、ビジュアルフォームデザイナのコントロールに触れると元に戻ります。更新したいまでそのままにしておくフラグがあるのではないかと思いました。それは読みやすさとナビゲーションのためのものですが、それが1行に残されたとしても、私はもっと幸せになるでしょう。

誰かがフィールドを離れようとしていたところにこれを見つけました(Visual Studioにデザイナーコードのフィールドを入力しないように指示するにはどうすればよいですか? )が、この場合に適用できるかどうかはわかりません。

私はそれを乗り越えて放っておくべきだと私に言ってください!

4

2 に答える 2

1

独自の NumericUpDown ユーザー コントロールを作成できます。共通の NumeriUpDown から継承し、コンストラクターで必要なプロパティを設定するだけです。

public partial class MyUpDownCtrl : NumericUpDown
    {
        public MyUpDownCtrl()
        {
            InitializeComponent();
            this.Increment = new decimal(2);

        }
    }

ソリューションを生成すると、一般的な numericUpDown のようにドラッグするだけでツール ボックスに新しいカスタム UpDownControl を使用できるようになります。

Visual Studio でフォーム デザイナー コードの自動変更を停止する方法がわからないため、お役に立てば幸いです。たぶん、それはまったくできません。

于 2012-07-03T07:12:34.600 に答える
1

その場所の上にあるデザイナーで別のセクションを作成できることに気付きました(@Jonathanに感謝します)...これは、デフォルトを変更したくない限り、すべてのデフォルト値を別のセクションに入れることができることを意味しますフォームデザイナー。これは InitializeComponent() の上のメソッドです

private void IntializeOtherComponents()
    {
      this.numericUpDown1.Value = new decimal(17);     
      this.numericUpDown1.Maximum = new decimal(7777);
      this.numericUpDown1.Minimum = new decimal(5); 
    }
于 2012-07-03T07:20:08.767 に答える