首页 > 解决方案 > 当鼠标光标位于属于面板的组合框上时如何触发面板滚动事件

问题描述

我使用 C# 开发了一个 Windows 窗体程序。

我添加了一个面板和一个属于该面板的组合框。当鼠标光标未指向组合框时,发生了垂直鼠标滚动事件。但是当鼠标光标指向组合框时,没有发生垂直鼠标滚动事件。

我认为我在为组合框配置鼠标事件时犯了一个错误。

您能否让我知道必须配置组合框的哪个属性?我应该配置什么事件?

标签: c#winformscomboboxmouseevent

解决方案


当光标指向 Combobox 时,焦点会在 Combobox 上,因此不会触发 Panel 的“鼠标滚动事件”。

也许您可以将方法绑定到MouseWheelPanel 和 Combobox 的事件。

public Form1()
{
    InitializeComponent();
    // subscribe to MouseWheel
    panel1.MouseWheel += MouseWheelMethod;
    comboBox1.MouseWheel += MouseWheelMethod;
}

int i = 0;

private void MouseWheelMethod(object sender, MouseEventArgs e)
{
    Console.WriteLine(i++); // test
}

推荐阅读