如何限制可以输入到我的NumericUpDown
(nudqty)中的max int。我的代码工作时,它会限制使用向下箭头更改它的值,但是当我键入它时不会。建议请告诉我,如果它不可能在NumericUpDown
,并将其更改为TextBox
。限制NumericUpDown值取决于从DataGridView中选择的值
private void dgv1_CellClick(object sender, DataGridViewCellEventArgs e)
{
lblqty.Text = dgv1.SelectedRows[0].Cells[5].Value.ToString();
nudqty.Maximum = Convert.ToDecimal(lblqty.Text);
}
NUD不验证您输入的内容,直到它知道一个事实,即在完成后打字。由于您可能键入“100”并按Backspace键以更正多余的“0”。它可以知道这一事实的唯一途径是当NUD失去焦点时。不可避免地,最大属性值不会被应用,直到您按下添加按钮。解决方法是使用验证事件,而不是设置最大值,让你抱怨。但是,确实,只要确保用户可以轻松纠正购物车中的错误。 –
当控件失去焦点或用户单击向上/向下按钮或用户使用键盘箭头键更改值时,“最大值”适用于控件。并且在所有情况下,当您询问控制的“数值”时,将应用“最大值”,然后将数值返回给您。所以不要担心用户输入的文字。设置'Maximum'属性,如果您使用'Value'属性,则您将始终获得有效值。 –
@HansPassant您可以使用验证向我展示示例代码吗?我不知道如何使用它。 – ItaChi