我在winform上有一个numericupdown控件,我注意到在测试时你不仅可以通过按向上和向下键来改变值,还可以从键盘输入值。
我不希望这样。我只希望用户只能通过单击框中的向上和向下按钮来更改numericupdown的值。
到目前为止,我根本找不到解决方案。
有谁知道怎么做?
答案 0 :(得分:2)
根据您允许的值范围,用户体验很糟糕。
为此,您需要创建一个继承自NumericUpDown的控件,并覆盖OnKeyPress / OnKeyDown方法。
答案 1 :(得分:2)
答案 2 :(得分:0)
使用updown.ReadOnly = True;
对我不起作用。这似乎是一个反复出现的错误。
但抓住任何变化,然后撤消它。为此,将函数updown_ValueChanged()
绑定到updown.ValueChanged
属性。
decimal spin = 1;
private void updown_ValueChanged(object sender, EventArgs e)
{
if (updown.ReadOnly)
{
if (updown.Value != spin)
{
updown.Value = spin;
}
}
else spin = updown.Value;
}