假设我有 NumericUpDownMaximum = 99
and Minimum = -99
和初始值=23
。如果用户将焦点设置到此控件并输入1
(那将是123
现在)它改变了它的价值99
。
我该如何保留23
而不是将值更改为允许的最大值?
我尝试捕获 KeyDown 和 KeyPress,但在此事件期间值没有更改。我还尝试实施中解释的解决方法这个问题 https://stackoverflow.com/questions/2316048/how-to-hold-the-invalid-value-for-numericupdown-after-it-loses-focus/2316219#2316219,但没有成功。验证事件仅在离开控制时发生。如果用户输入大于最大值或小于最小值,我需要简单地忽略它。
UPD。我在用着WinForms.
使用外部全局属性,例如private int iTextBox { get; set; }
并使用OnTextChange event
查看数字是否大于 99 或小于 -99。
OnTextChange
:
{
int newValue = int.Parse(textBox1.Text);
if (newValue > Maximum)
textBox1.Text = iTextBox;
if (newValue < Minimum)
textBox1.Text = iTextBox;
iTextBox = int.Parse(textBox1.Text);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)