C#学习日记2016-12-26 numricUpDown数字选择控件

问题描述:在设置页面扫码的过程中,由于条码的长度不同。所以需要手动设置条码的长度,曾将考虑用comBox控件来进行设置。放弃的原因是不美观和不适用。


解决过程:由于需要进行手动设置读取的条码的长度,我们采用numricUpDown控件,这个控件既可以进行鼠标箭头的上下点击修改,也可键盘进行输入。常用来进行设置的设定浮动的数字范围。


学习:

关键属性:有 maximum(设置数据最大值,上限),minimum(设置数据的最小值,下限)

decimalPlace(设置数据栏显示小数的位数,默认的为零),Increment(设置每次增减的大小,比如点击一次加三之类)

private void Form1_Load(object sender, EventArgs e) 
{ 
     numericUpDown1.Minimum = 0;     //设置允许的最小值 
     numericUpDown1.Maximum = 100;   //设置允许的最大值 
     numericUpDown1.DecimalPlaces = 2;   //设置小数点的位数为3位 
     numericUpDown1.Increment = 1;       //设置步长为1 
     numericUpDown1.InterceptArrowKeys = true;    //允许通过上下箭头调整值
} 


关键事件:ValueChanged事件

private void numericUpDown1_ValueChanged(object sender, EventArgs e) 
       { 
           textBox1.Text = "您输入的值为:" + numericUpDown1.Value;    //值改变,触发事件。
       }


numricUpDown.Text 和numricUpDown.Value 的区别:.Text的值是只要KeyUp发生以后,值就会发生改变,而.Value值得等到回车键按下或者失去焦点时才能够起作用,此时会触发ValueChanged事件。因为.Text和.Value存在着区别,所以numricUpDown控件在实时响应键盘时不能用ValueChanged事件,而需要在KeyUp事件中写类似代码

numericUpDown.Value = Convert.ToInt32(numericUpDown.Text); 下边是一段典型的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);
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值