如何禁用 Windows 表单中 NumericUpDown 的滚动
How to disable scrolling on a NumericUpDown in a Windows Form
我一直在尝试找到一种方法,当我不小心将鼠标悬停在 NumericUpDown 上时禁用 NumericUpDown 的滚动。有没有办法使用属性来做到这一点?
我找到了一种使用组合框代码禁用它的方法,但不是直接在设计器视图的“属性”面板中。
这是我找到的代码:
void comboBox1_MouseWheel(object sender, MouseEventArgs e) {
((HandledMouseEventArgs)e).Handled = true;
}
我从这个 link 中找到了代码:
C# - how do I prevent mousewheel-scrolling in my combobox?
我的设计中有很多这样的 NumericUpDown,因此希望有一种方法可以在我不小心将鼠标悬停在 NumericUpDown 上时禁用鼠标滚动。因此,如果有一种方法可以直接在属性中执行此操作,那将大有帮助。提前致谢!
如果不需要向上和向下按钮执行任何操作,则可以将增量 属性 设置为 0
您不能在设计器属性中进行设置。但是你可以使用一些作弊码来做到这一点:
private void Form1_Load(object sender, EventArgs e)
{
foreach (Control ctl in Controls)
{
if (ctl.GetType() == typeof(NumericUpDown))
ctl.MouseWheel += Ctl_MouseWheel;
}
}
private void Ctl_MouseWheel(object sender, MouseEventArgs e)
{
((HandledMouseEventArgs) e).Handled = true;
}
我刚刚对此进行了测试,效果很好。
我一直在尝试找到一种方法,当我不小心将鼠标悬停在 NumericUpDown 上时禁用 NumericUpDown 的滚动。有没有办法使用属性来做到这一点?
我找到了一种使用组合框代码禁用它的方法,但不是直接在设计器视图的“属性”面板中。
这是我找到的代码:
void comboBox1_MouseWheel(object sender, MouseEventArgs e) {
((HandledMouseEventArgs)e).Handled = true;
}
我从这个 link 中找到了代码:
C# - how do I prevent mousewheel-scrolling in my combobox?
我的设计中有很多这样的 NumericUpDown,因此希望有一种方法可以在我不小心将鼠标悬停在 NumericUpDown 上时禁用鼠标滚动。因此,如果有一种方法可以直接在属性中执行此操作,那将大有帮助。提前致谢!
如果不需要向上和向下按钮执行任何操作,则可以将增量 属性 设置为 0
您不能在设计器属性中进行设置。但是你可以使用一些作弊码来做到这一点:
private void Form1_Load(object sender, EventArgs e)
{
foreach (Control ctl in Controls)
{
if (ctl.GetType() == typeof(NumericUpDown))
ctl.MouseWheel += Ctl_MouseWheel;
}
}
private void Ctl_MouseWheel(object sender, MouseEventArgs e)
{
((HandledMouseEventArgs) e).Handled = true;
}
我刚刚对此进行了测试,效果很好。