如果创建一个新的C#项目并将NumericUpDown放置在表单(或什至是文本框)上,是否可以取消选择?

当前,我的应用程序具有可滚动容器,并且当用户选择NumericUpDown时,他或她无法取消选择它。然后,当尝试使用鼠标上的滚轮进行任何操作时,它将滚动NumericUpDown的值。

理想情况下,当用户单击表单上的空白处时,它将选择该表单并取消选择NumericUpDown。通常,要么禁用此按钮,要么在NumericUpDown上禁用鼠标滚轮滚动(也不知道如何执行此操作)。 NumericUpDown包含的数据不会经常更改,因此不会对用户产生太大影响。

最佳答案

要禁用NumericUpDown上的鼠标滚轮滚动,您需要创建自己的覆盖OnMouseWheel事件的后代控件,并在窗体上使用自定义控件。

public class NonScrollingNumericUpDown : NumericUpDown
{
    protected override void OnMouseWheel(MouseEventArgs e)
    {
           //Don't call base.OnMouseWheel(e)
    }
}


为了回答有关控件焦点的问题,我相信您还需要在表单上至少具有一个其他控件才能提交焦点。

关于c# - 无法取消选择NumericUpDown?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7170536/

10-11 21:59