Pyg*_*gmy 56 c# combobox mousewheel
我有一个组合框,我想阻止用户使用鼠标滚轮滚动项目.
有一个简单的方法吗?
(C#,VS2008)
Jay*_*ggs 105
对ComboBox 使用MouseWheel事件:
void comboBox1_MouseWheel(object sender, MouseEventArgs e) {
((HandledMouseEventArgs)e).Handled = true;
}
Run Code Online (Sandbox Code Playgroud)
注意:您必须在代码中创建事件:
comboBox1.MouseWheel += new MouseEventHandler(comboBox1_MouseWheel);
Run Code Online (Sandbox Code Playgroud)
对于 WPF,请PreviewMouseWheel改为处理事件。
考虑一下也是一个好主意ComboBox.IsDropDownOpen,这样如果展开时选择中有很多项目,用户仍然可以使用鼠标滚动ComboBox。
另一件事是在整个应用程序中应用相同的行为。
我通常使用以下代码完成上述所有操作:
应用程序.xaml
<Application.Resources>
<Style TargetType="ComboBox">
<EventSetter Event="PreviewMouseWheel" Handler="ComboBox_PreviewMouseWheel" />
</Style>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)
应用程序.xaml.cs
private void ComboBox_PreviewMouseWheel(object sender, System.Windows.Input.MouseWheelEventArgs e)
{
e.Handled = !((System.Windows.Controls.ComboBox)sender).IsDropDownOpen;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29973 次 |
| 最近记录: |