[英]Update Value of the NumericUpDown control without raising of ValueChanged event (Winforms)
[英]Why is the ValueChanged event not triggered on a NumericUpDown Control When the Value is Changed Manually?
我将代码附加到两个NumericUpDown控件的ValueChanged事件:
private void numericUpDownHeight_ValueChanged(object sender, EventArgs e)
{
if (checkBoxRetainRatio.Checked)
{
numericUpDownWidth.Value = numericUpDownHeight.Value;
}
}
private void numericUpDownWidth_ValueChanged(object sender, EventArgs e)
{
if (checkBoxRetainRatio.Checked)
{
numericUpDownHeight.Value = numericUpDownWidth.Value;
}
}
当我使用控件的向上/向下箭头更改编辑框中的值时,此方法非常有用。 但是,如果我手动编辑该值(例如,当我想将其从100更改为25,并且可以通过手动六次击键来完成,而增加5,则使用向下箭头需要15),则该事件不会触发。
有没有一种快速的方法来解决这种轻微的刺激(IOW,如果要完成它确实有些不可思议和棘手的事情,我就不会打扰)。
对于发生ValueChanged事件,可以通过单击向上或向下按钮,或通过用户输入控件读取的新值来在代码中更改Value属性。 当用户按下ENTER键或离开控件时,将读取新值。 如果用户输入一个新值,然后单击向上或向下按钮,则ValueChanged事件将发生两次。
来源: https : //msdn.microsoft.com/zh-cn/library/system.windows.forms.numericupdown.valuechanged%28v=vs.110%29.aspx
我将使用sender.Value,其中包含最新的值。 您必须将其强制转换为发件人的类型。
对于numericUpDown组件:
((System.Windows.Forms.NumericUpDown)(sender)).Value.ToString()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.