NumberPicker 控件






4.39/5 (8投票s)
2005年12月9日
3分钟阅读

81929

1133
本文介绍了一个用于方便输入数字的控件。
引言
如今,大量的应用程序都包含用于输入数字的控件。 特别是在金融应用程序中,这种控件被广泛使用。 许多其他文章已经讨论了如何在文本框控件中更美观地表示数字。 然而,仍然需要一个控件,允许用户快速输入数字。 在本文中,我将解释 NumberPicker
控件,该控件将解决此问题并允许快速输入数字。
本文的结构如下。 首先,解释了此控件的运作方式以及如何实现它。 然后,我将详细介绍如何将代码整合到您当前的项目中。 最后,会给出一些总结性评论以及修订历史。
控件的详细信息
此控件提供了一种通过点击基于对话框的键盘上的数字来输入数字的方法,如您在上面的截图中所看到的。 当用户双击该控件时,会显示一个小型的数字键盘。 此键盘允许您在控件中输入数字。 此外,它还包含一些基本功能,可以即时进行简单的数学计算。 支持“加”、“减”、“乘”和“除”运算符。 执行计算的机制是通过委托完成的。
private delegate double Function(double a, double b);
private Function f;
当单击其中一个运算符时,相应的函数将被保存在一个委托 f
中。 在这种情况下,单击了“加”运算符。
this.f = new Function(Utilities.Add);
然后,通过调用委托中包含的函数,将运算符应用于第一个输入值(temporary
)和最后一个输入值(value
)的结果计算出来。 结果再次保存到 temporary
中,等待任何后续计算。
this.temporary = f(this.temporary, Convert.ToDouble(this.value.Text));
this.value.Text = this.temporary.ToString();
可以从本文顶部下载 NumberPicker
控件的源代码。
使用代码
一旦我们成功构建了解决方案,该控件也可以在其他项目中使用。 这可以通过从工具箱上下文菜单中选择“添加/删除项目...”并找到“CustomControlLibrary.dll”来实现。 将控件添加到工具箱后,我们就可以在表单上直接绘制它,并像使用任何其他控件一样使用它。
从文本上来说,也可以写下以下内容来使用该控件
this.numberPicker = new CustomControlLibrary.NumberPicker();
this.numberPicker.Location = new System.Drawing.Point(0, 0);
this.numberPicker.MaxLength = 32767;
this.numberPicker.Modified = false;
this.numberPicker.Name = "myNumberPicker";
this.numberPicker.Size = new System.Drawing.Size(100, 20);
NumberPicker
的一个小演示,可以从本文顶部下载。
结论
这里描述的控件可用于需要快速输入数字的应用程序(例如,金融应用程序)。 它提供了一个基于对话框的键盘,只需双击即可,并且通过简单的鼠标点击,数字就可以输入到控件中。
正如我在引言中所说,其他人已经致力于在文本框中更美观地表示数字。 此控件可以很好地与这些其他编辑控件一起使用,以获得更丰富的数值编辑(例如,当数字为负数时将其可视化为红色等)。
历史
- 2005年12月9日 - 版本 1.0。