4

我正在使用 Visual Studio 并有一些 numericUpDown 控件,我已经为(最小值、最大值、值和增量)设置了值。代码设计器不断将我的简单十进制值转换为 int[]。我知道它说“不要使用代码编辑器修改此方法的内容”,但我发现在这里调整属性非常有用,我认为我在更改时只是“让事情变得整洁”:

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

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

但是,如果我触摸可视表单设计器上的控件,它会变回来。我想也许有一个标志会保持原样,直到我想要更新它。它更多的是为了可读性和导航,但即使它只是把它留在一行我会更开心。

我发现这个(我如何告诉 Visual Studio 不要在设计器代码中填充字段?)有人试图离开它,但我不确定它是否适用于这种情况。

随意告诉我,我应该克服它,别管它!

4

2 回答 2

1

您可以制作自己的 NumericUpDown 用户控件。只需从常见的 NumeriUpDown 继承并在构造函数中设置所需的属性即可。

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

        }
    }

生成解决方案后,您将在工具箱中准备好新的自定义 UpDownControl,只需像常见的 numericUpDown 一样拖动它即可使用。

我希望它对您有所帮助,因为我不知道有什么方法可以让 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 回答