winforms C# Windows窗体应用程序:更改控件所有示例的行为

z2acfund  于 2022-11-17  发布在  C#
关注(0)|答案(1)|浏览(193)

我想更改所有数值向上的增量值和小数位。
我知道我可以单独完成这项工作with
numericUpDownName.DecimalPlaces = 2;numericUpDownName.Increment = 0.01M;
什么是最有效的方法呢?我可以在Form1.cs中为每个数字updown创建方法,但这看起来很麻烦。
I tried创建一个继承数字updown的子类,但我仍然不确定如何利用它使所有控件以相同的方式工作,而不必在Form1.cs中将每个数字updown初始化为该类的成员。

class numberInput : NumericUpDown { }

qrjkbowd

qrjkbowd1#

如何创建所有这些NumericUpDown控件?如果在设计器中创建,则可以在设计器中设置所需的属性。
如果您是以程序设计方式建立它们,请改为在此处变更属性。
如果由于某种原因你不能做这两件事(为什么?),那么你可以使用反射来设置它们。这个方法假设它是包含NumericUpDown控件的窗体的一个成员,并且控件都在顶级(即不包含在Panel或其他类似的容器控件中):

void setNumericUpDownProperties()
{
    foreach (var numericUpDown in this.Controls.OfType<NumericUpDown>())
    {
        numericUpDown.DecimalPlaces = 2;
        numericUpDown.Increment = 0.01M;
    }
}

(This需要using System.Linq;
您可以在表单的建构函式中呼叫InitializeComponent()之后呼叫它。

相关问题