如何使用键更改numericupdown值才能生效?

时间:2013-12-19 10:25:52

标签: c# winforms

private void numericUpDown1_ValueChanged(object sender, EventArgs e)
{
   CloudEnteringAlert.tolerancenum = (int)numericUpDown1.Value;
   pictureBox1.Image =CloudEnteringAlert.CloudsOnly(bitmapwithclouds,bitmapwithoutclouds);
}

当我使用鼠标更改numericupdown值时,我会在pictureBox1图像上看到效果。但是如果我在numericupdown中键入另一个值,为什么它不会改变pictureBox中的任何值;使用键盘手动更改值时不会受到影响吗?

3 个答案:

答案 0 :(得分:1)

解决方案是使用Textchanged而不仅仅是ValueChanged:

private void Form1_Load(object sender, EventArgs e)
        {
            numericUpDown1.TextChanged += new EventHandler(numericUpDown1_TextChanged);
        }

        void numericUpDown1_TextChanged(object sender, EventArgs e)
        {
            CloudEnteringAlert.tolerancenum = (int)numericUpDown1.Value;
            pictureBox1.Image = CloudEnteringAlert.CloudsOnly(bitmapwithclouds, bitmapwithoutclouds);
        }

答案 1 :(得分:0)

  

使用KeyUp事件进行数字更新。

     

在KeyUp事件中,通过

获取值
string str = numericUpdown1.Text;

答案 2 :(得分:-1)

您必须按回车键或移至其他控件或添加Key_Up / Key_Down / Key_Press事件

 private void numericUpDown1_KeyPress(object sender, KeyPressEventArgs e)
    {
        numericUpDown1_ValueChanged(this.numericUpDown1, new EventArgs());
    }