C#的numericUpDown控件

numericUpDown控件主要属性方法事件

属性:

numericUpDown1.Value = 1;
numericUpDown1.Maximum = 100;
numericUpDown1.Increment = 2; // 步进值

numericUpDown1.Text; 

Text和Value的区别:Text值只要键盘KeyUp发生后就改变(就是按下又松开了键盘键)。Value要等到回车确认或numericUpDown控件失去输入焦点时改变,此时触发numericUpDown的ValueChanged事件。

由于Text和Value的存在着上述区别,所以如果需要numericUpDown即时响应键盘输入的数字时就不能在ValueChanged事件中写代码,而要在KeyUp事件中写类似numericUpDown.Value = Convert.ToInt32(numericUpDown.Text);这种代码。当然Text的有效性校验还是需要你手工写出来。

要注意的是在VS2010中无论是属性列表还是代码自动感知系统,都不会出现numericUpDown的Text属性。所以输入“.T”之后就不要等VS给你“ext”了,因为它根本不会出现。

下面是一段典型的KeyUp代码

        private void nudMultiple_KeyUp(object sender, KeyEventArgs e)
        {
            if (nudMultiple.Text.Trim() == "")
                nudMultiple.Text = "1";
            if (Convert.ToInt32(nudMultiple.Text) > nudMultiple.Maximum)
            {
                txtMessage.Text = "您输入了'" + nudMultiple.Text + "',而系统允许的最大倍数为:'" + nudMultiple.Maximum + "'";
                nudMultiple.Text = nudMultiple.Text.Substring(0, nudMultiple.Text.Length - 1);
                nudMultiple.Select(nudMultiple.Text.Length,0);

            }
            nudMultiple.Value = Convert.ToInt32(nudMultiple.Text);
        }

你可能感兴趣的:(C#控件)