我有一个NumericUpDown
并且我需要在值变化(而不是失去焦点)时进行新的计算
如果我在ValueChanged
失去焦点时将我的代码放在这个工作中
如果我输入我的代码,KeyPress
那么如果数字不是通过键盘输入的(例如复制一个数字并粘贴它)它就不起作用
那么我需要使用什么事件?
如果这是按键我需要连接数值更多按键将所有这些转换为字符串并将其转换为十进制,然后进行计算,但如果按键不是数字(例如退格),则它不起作用
我有一个NumericUpDown
并且我需要在值变化(而不是失去焦点)时进行新的计算
如果我在ValueChanged
失去焦点时将我的代码放在这个工作中
如果我输入我的代码,KeyPress
那么如果数字不是通过键盘输入的(例如复制一个数字并粘贴它)它就不起作用
那么我需要使用什么事件?
如果这是按键我需要连接数值更多按键将所有这些转换为字符串并将其转换为十进制,然后进行计算,但如果按键不是数字(例如退格),则它不起作用
您可以使用KeyUp
事件来检查使用 CTRL+V 的直接编辑和粘贴操作。
MouseUp
然后您可以使用鼠标右键(上下文菜单)侦听事件以检查粘贴操作。
在此示例代码MessageBox
中,如果用户输入大于 9 的数字,则会显示 a:
private void numericUpDown1_KeyUp(object sender, KeyEventArgs e)
{
if (numericUpDown1.Value >= 10){
numericUpDown1.Value = 0;
MessageBox.Show("number must be less than 10!");
}
}
private void numericUpDown1_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Right) {
if (numericUpDown1.Value >= 10){
numericUpDown1.Value = 0;
MessageBox.Show("number must be less than 10!");
}
}
}